【发布时间】:2020-09-25 20:18:50
【问题描述】:
我正在使用以下代码从使用 Microsoft.Office.Interop.Excel 的 C# WinForms 应用程序生成 Excel .xlsx 文件
到目前为止,代码只是创建了一个空白 Excel 文件。 当我尝试打开 xlsx 文件时,出现以下错误。 但如果我将文件扩展名重命名为 .xls,文件会打开文件。
void WriteData(DataSet ds, string excelFilePath)
{
Excel.ApplicationClass appExcel = null;
Excel.Workbooks workbooks = null;
Excel.Sheets workSheets = null;
Excel.Workbook wb = null;
Excel.Worksheet ws = null;
Excel.Workbook wbTemplate = null;
Excel.Range range = null;
try
{
appExcel = new Excel.ApplicationClass();
ExcelUtils.InitExcel(appExcel);
workbooks = appExcel.Workbooks;
wb = workbooks.Add(Microsoft.Office.Interop.Excel.XlWBATemplate.xlWBATWorksheet);
wb.SaveAs(excelFilePath, Excel.XlFileFormat.xlWorkbookNormal,
Missing.Value, Missing.Value, Missing.Value, Missing.Value,
Excel.XlSaveAsAccessMode.xlNoChange, Missing.Value, Missing.Value, Missing.Value,
Missing.Value, Missing.Value);
wb.Close(Type.Missing, Type.Missing, Type.Missing);
}
finally
{
ExcelUtils.CleanupExcel(appExcel, workbooks, workSheets, wb, ws);
appExcel = null;
}
}
我已经阅读了其他类似的问题,但其中大部分是其他语言或使用一些 Excel 库。我需要使用 Excel 互操作的解决方案。我不想以 OpenXML 格式保存。
【问题讨论】: