将xlsx转换为xls问题

时间:2013-09-06 23:43:05

标签: c# excel excel-interop

我正在尝试将.xlsx文件转换为.xls并且它似乎工作正常,但是当我打开.xls文件时,我收到一条警告消息“

  

您尝试打开“文件名”的文件格式不同   比文件扩展名指定的。

     

在打开>文件之前,验证文件是否已损坏且>来自受信任的来源。你想现在打开文件吗?“....

当我打开它时,一切看起来都很好,但我不明白为什么会这样。我在此程序中的下一步是将xls中的数据导入SQL,但我担心这会导致问题。

以下是我调用SaveAs方法来更改文件的文件扩展名的代码行。

wb.SaveAs("filename.xls", FileFormat: Microsoft.Office.Interop.Excel.XlFileFormat.xlOpenXMLWorkbook);

我最初只是

wb.SaveAs("filename.xls"); 

在我收到错误之后,我又做了一些挖掘并发现了xlOpenXMLWorkbook,但似乎没有帮助。

任何可以帮助我理解为什么会发生这种情况的信息都会非常感激。

1 个答案:

答案 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