如何将 DataTable 保存为 Excel 文件(不是 csv)然后打开它?

How to save DataTable as an Excel file (not csv) and then open it?

我使用此代码在 Excel 中打开 DataTable。这是一个 wpf 应用程序。

      excel = new Microsoft.Office.Interop.Excel.Application();
      wb = excel.Workbooks.Add();
      ws = (Microsoft.Office.Interop.Excel.Worksheet)wb.Sheets.Add();
      for (var i = 0; i < dt.Columns.Count; i++) {
        ws.Range["A1"].Offset[0, i].Value = dt.Columns[i].ColumnName;
      }

      for (var i = 0; i < dt.Rows.Count; i++) {
        ws.Range["A2"].Offset[i].Resize[1, dt.Columns.Count].Value = dt.Rows[i].ItemArray;
      }

      excel.Visible = true;
      wb.Activate();

但我想先将文件另存为 xls 文件(不是 csv),然后在 Excel 中打开它。或者至少在 Excel 保存时打开它——也就是说,当我打开它时,它已经写在磁盘上了。现在上面的代码只是打开 Excel,没有文件名——数据没有保存在磁盘上。

要保存 Excel 工作簿,请使用 Workbook.SaveAs method。在 wb.Activate 行之前插入此行。

wb.SaveAs("C:\Example\Example.xls", xlExcel8)