2

.xlsxファイルをに変換しようとしていますが.xls、正常に動作しているように見えますが、.xlsファイルを開くと「警告メッセージが表示されます」

'filename' を開こうとしているファイルは、ファイル拡張子で指定されたものとは異なる形式です。

>ファイルを開く前に、ファイルが破損していないことと、信頼できるソースからのものであることを確認してください。今すぐファイルを開きますか?」....

開くとすべて問題ないように見えますが、なぜこれが起こっているのかわかりません。このプログラムの次のステップは、データを xls から SQL にインポートすることですが、これにより問題が発生するのではないかと心配しています。

次のコード行では、SaveAs メソッドを呼び出してファイルのファイル拡張子を変更しています。

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

私は最初に持っていた

wb.SaveAs("filename.xls"); 

エラーが発生した後、さらに掘り下げて を見つけましたがxlOpenXMLWorkbook、役に立たないようです。

なぜこれが起こっているのかを理解するのに役立つ情報があれば、大歓迎です。

4

1 に答える 1

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)を設定していることを確認してください。そうしないと、説明したエラーが発生します。

こちらの私の回答も参照してください

于 2013-09-06T23:54:24.873 に答える