在C#中保存到xlsx文件

时间:2014-05-25 15:24:05

标签: c#

我正在尝试读取文件夹中的大约50K文件,从每个文件中提取一些细节并写入excel文件。我使用以下代码: -

string savLoc = textBox2.Text.Trim();
savLoc = savLoc + "\\Visible_Fields.xlsx";
xlWorkBook.SaveAs(savLoc, Excel.XlFileFormat.xlWorkbookNormal, misValue, misValue, misValue, misValue, Excel.XlSaveAsAccessMode.xlNoChange, misValue, misValue, misValue, misValue, misValue);
xlApp.DisplayAlerts = true;
xlWorkBook.Close(true, misValue, misValue);
xlApp.Quit();

但是创建的xlsx文件没有打开并显示其已损坏。但是,如果我使用扩展名作为xls,它将起作用,但xls在一个工作表中具有65K的限制。谁能告诉我这是怎么做到的?我只能使用excel互操作而不是任何其他免费库。

我使用interop版本14

1 个答案:

答案 0 :(得分:3)

解决此问题的最佳方法是不使用Interop。它基于COM +管道​​,并不是那么可靠。相反,我建议您使用能够打开文件,解析它并以.NET本机方式为您提供内容的第三方库,这样更安全。

有大量项目要避免使用Interop。通常更喜欢的是EPPlus。