我使用此代码在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 - 数据没有保存在磁盘上。
答案 0 :(得分:1)
要保存Excel工作簿,请使用Workbook.SaveAs method。在wb.Activate行之前插入此行。
wb.SaveAs("C:\Example\Example.xls", xlExcel8)