6

私はxlsxファイルをxlsファイルに変換するコンソールアプリケーションに取り組んでいます。Excel 2007で開かれるため、xlsxからxlsに名前を変更したくありませんが、Excel2003では破損したファイルとして表示されます。ドキュメントをロードしてxls形式で保存する方法を探しています。

私の現在のコードはxlsxの名前をxlsに変更するだけです

string fileName = @"C:\Users\L-3\Desktop\my.xlsx";
string svfileName = @"C:\Users\L-3\Desktop\ssc\my1.xls";
object oMissing = Type.Missing;
var app = new Microsoft.Office.Interop.Excel.Application();
var wb = app.Workbooks.Open(fileName, oMissing, oMissing,
                oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing);
wb.SaveAs(svfileName, XlFileFormat.xlOpenXMLTemplate, Type.Missing, Type.Missing, Type.Missing, Type.Missing, XlSaveAsAccessMode.xlExclusive, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
app.Quit();
4

4 に答える 4

4

列挙型が間違ってい ます 。XlFileFormat.xlOpenXMLTemplateの代わりにXlFileFormat.xlExcel8が必要なので、コードは次のようになります。

string fileName = @"C:\Users\L-3\Desktop\my.xlsx";
string svfileName = @"C:\Users\L-3\Desktop\ssc\my1.xls";
object oMissing = Type.Missing;
var app = new Microsoft.Office.Interop.Excel.Application();
var wb = app.Workbooks.Open(fileName, oMissing, oMissing,
                oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing);
wb.SaveAs(svfileName, XlFileFormat.xlExcel8, Type.Missing, Type.Missing, Type.Missing, Type.Missing, XlSaveAsAccessMode.xlExclusive, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
app.Quit();

詳細はこちら

于 2013-03-21T13:22:10.477 に答える
1

で保存してみてくださいXlFileFormat.xlExcel9795。使用することもできますXlFileFormat.xlWorkbookNormal

于 2013-03-21T14:28:15.297 に答える
0

ここから次のスニペットを見つけました:

// Create new XLSX file.
var xlsxFile = new ExcelFile();

// Load data from XLSX file.
xlsxFile.LoadXlsx(fileName + ".xls", XlsxOptions.PreserveMakeCopy);

// Save XLSX file to XLS file.
xlsxFile.SaveXls(fileName + ".xls");

このコンポーネントを使用します。

于 2013-03-21T13:23:05.840 に答える
0

私はこれがあなたが探している答えを持っていると思います:

Excel97-2003の正しい`XlFileFormat`列挙は何ですか

ファイル形式を使用していますxlOpenXMLTemplatexlExcel8代わりに使用してみますか?これは、97-2003ワークブックのファイル形式である必要があります。

于 2013-03-21T13:26:27.240 に答える