我正在尝试将.xlsx
文件转换为.xls
并且它似乎工作正常,但是当我打开.xls
文件时,我收到一条警告消息“
您尝试打开“文件名”的文件格式不同 比文件扩展名指定的。
在打开>文件之前,验证文件是否已损坏且>来自受信任的来源。你想现在打开文件吗?“....
当我打开它时,一切看起来都很好,但我不明白为什么会这样。我在此程序中的下一步是将xls中的数据导入SQL,但我担心这会导致问题。
以下是我调用SaveAs方法来更改文件的文件扩展名的代码行。
wb.SaveAs("filename.xls", FileFormat: Microsoft.Office.Interop.Excel.XlFileFormat.xlOpenXMLWorkbook);
我最初只是
wb.SaveAs("filename.xls");
在我收到错误之后,我又做了一些挖掘并发现了xlOpenXMLWorkbook
,但似乎没有帮助。
任何可以帮助我理解为什么会发生这种情况的信息都会非常感激。
答案 0 :(得分:3)
要另存为电子表格(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 Save as is giving compatibility checker in excel 2007