c# - 以编程方式将 Excel 2003 文件转换为 2007+

标签 c# .net excel

我正在寻找一种方法,从本质上获取 Excel 文件的文件夹(旧的 2003 文件扩展名为 .xls),并将它们转换为 .xlsm。我知道你可以自己进入Excel表并手动完成,但是有没有办法用代码来完成呢?具体使用任何类型的库?

最佳答案

这不是我的代码,但我以前使用过 ClosedXML,它非常棒。我在常见问题解答中发现了这一点,询问它是否支持 Excel 2003,看起来它应该适合您...

为了澄清,这使用了 Office Interop 库而不是 closeXML,但我提到过它,以防您需要进行任何其他修改。

public void Convert(String filesFolder)
{
     files = Directory.GetFiles(filesFolder);

     var app = new Microsoft.Office.Interop.Excel.Application();
     var wb = app.Workbooks.Open(file);
     wb.SaveAs(Filename: file + "x", FileFormat: Microsoft.Office.Interop.Excel.XlFileFormat.xlOpenXMLWorkbook);
     wb.Close();
     app.Quit();
}

Here is the link

希望有帮助:D

关于c# - 以编程方式将 Excel 2003 文件转换为 2007+,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18904561/

相关文章:

c# - 将事件分配给 Repeater 控件内的自定义控件

c# - FileSystemWatcher Changed 事件不会触发

c# - 将 Bootstrap 连接到 ASP.NET _Layout.cshtml 文件

vba - 激活工作表 1,否则激活另一个工作表

Excel VBA,ActiveWorkbook.Save触发了Workbook_BeforeSave事件,但是Workbook_BeforeSave中的代码行通过,没有任何结果

c# - 这个内部类静态作用域魔术是如何工作的?

c# - 用于开发的本地事件目录访问和管理?

.net - .net 堆内存的架构

.net - CA1704-Microsoft 似乎阻止了 'Multi' 一词?

events - Worksheet_Change 永远不会触发