将xlsx转换为xls问题
我试图将.xlsx
文件转换为.xls
,它似乎工作正常,但是,当我打开.xls
文件时,我收到一条警告消息“
您尝试打开“文件名”的文件格式与文件扩展名指定的格式不同。
在打开>文件之前,请validation文件是否已损坏,并从可信来源validation>。 你想现在打开文件吗?“
当我打开它时,一切看起来都很好,但我不明白为什么会发生这种情况。 我在这个程序中的下一步是将xls中的数据导入到SQL中,但是我担心这会导致问题。
这里是我调用SaveAs方法来更改文件的文件扩展名的代码行。
wb.SaveAs("filename.xls", FileFormat: Microsoft.Office.Interop.Excel.XlFileFormat.xlOpenXMLWorkbook);
我最初只是有
wb.SaveAs("filename.xls");
当我得到错误后,我做了一些更多的挖掘,发现xlOpenXMLWorkbook
,但似乎没有帮助。
任何可以帮助我理解为什么会发生的信息将不胜感激。
要保存为电子表格(OpenXml格式, .xlsx
),请使用XlFileFormat.xlOpenXMLWorkbook
:
wb.SaveAs("filename.xlsx", FileFormat: Microsoft.Office.Interop.Excel.XlFileFormat.xlOpenXMLWorkbook);
要保存为Excel 1997-2003格式(Biff, .xls
),请使用XlFileFormat.xlExcel8
:
wb.SaveAs("filename.xls", FileFormat: Microsoft.Office.Interop.Excel.XlFileFormat.xlExcel8);
确保你设置了合适的扩展名 (.xlsx或.xls),否则你有错误。
另请参阅我的答案Excel Interop另存为在Excel 2007中提供兼容性检查器