我将任何文件保存为.xlsx格式。如果原始文件不是.xlsx扩展名,则在尝试打开它时会抛出异常。异常消息是: -
Excel无法打开文件'abc.xlsx,因为文件格式或文件 扩展无效。验证文件是否已损坏 并且文件扩展名与文件格式匹配。
如果转换是.xls格式,我可以打开带有警告信息的转换后的文件。
您尝试打开的文件abc.xls采用不同的格式 比文件扩展名指定的。验证文件不是 在打开文件之前损坏并来自受信任的来源。你呢 想立即打开文件?
我需要通过C#代码将文件转换为.xlsx格式,无论其扩展程度如何,并由Excel 2010打开。
答案 0 :(得分:2)
不是文件类型的工作原理!
您不能简单地重命名文件,而是将其转换为其他类型。
将*.xls
重命名为*.xlsx
有效,因为两者都是可以通过MS Excel打开的Excel文件,但适用于所有其他类型(Excel可以处理的其他类型除外,例如{{1}你需要阅读文件和"手动"转换它们。
答案 1 :(得分:0)
您需要一个可以为您转换文件的库。
我发现您需要从Office 2003打开文件,因此您需要使用 NPOI
之类的内容不幸的是,即使 EPPLUS 是Office文件的绝佳库,它也只支持.xlsx
或.docx
等OXML文档,而不支持.xls
。
NPOI 是一个免费的开源库,可以使用Office 2003-> 2010/3文件。