C#如何向一个打开的excel写入数据

c#应该如何向一个已经打开的excel写入数据呢,我使用的方式是

  using (FileStream fs1 = new FileStream(_filename, FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.ReadWrite))
              { wk.Write(fs1);
               wk.Close();
              }

这样可以实现读取操作,但无法写入。并且写入没有打开的excel时会损坏文件。请问该如何解决呢?


// 打开一个Excel应用程序
Excel.Application excelApp = new Excel.Application();
// 打开一个工作簿
Excel.Workbook workbook = excelApp.Workbooks.Open("C:\\example.xlsx");
// 获取第一个工作表
Excel.Worksheet worksheet = workbook.Sheets[1];

博主可以尝试以下该代码

1.microsoft office办公软件打开excel文件时是以独占的方式打开的,所以其他软件再次打开就会报错
即使你以某些方式能读取数据,也不能写入,它是只读的
2.excel有它自己的格式,你需要引用.net类库提供的excel.dll或者引用NPOI,否则你必须自己对文件进行编码
你以txt的方式写入肯定要损坏文件的