我正在使用互操作庫(kù)從數(shù)據(jù)表創(chuàng)建 excel,所以我的方法很簡(jiǎn)單:public bool WriteDataTableToExcel(System.Data.DataTable dataTable, string worksheetName, string saveAsLocation, string ReporType){ Microsoft.Office.Interop.Excel.Application excel; Microsoft.Office.Interop.Excel.Workbook excelworkBook; Microsoft.Office.Interop.Excel.Worksheet excelSheet; Microsoft.Office.Interop.Excel.Range excelCellrange; try { // Start Excel and get Application object. excel = new Microsoft.Office.Interop.Excel.Application(); // for making Excel visible excel.Visible = false; excel.DisplayAlerts = false; // Creation a new Workbook excelworkBook = excel.Workbooks.Add(Type.Missing); // Workk sheet excelSheet = (Microsoft.Office.Interop.Excel.Worksheet)excelworkBook.ActiveSheet; excelSheet.Name = worksheetName; excelSheet.Cells[1, 1] = ReporType; excelSheet.Cells[1, 2] = "Date : " + DateTime.Now.ToShortDateString(); // loop through each row and add values to our sheet int rowcount = 2; foreach (DataRow datarow in dataTable.Rows) { rowcount += 1; for (int i = 1; i <= dataTable.Columns.Count; i++) { // on the first iteration we add the column headers if (rowcount == 3) { excelSheet.Cells[2, i] = dataTable.Columns[i - 1].ColumnName; excelSheet.Cells.Font.Color = System.Drawing.Color.Black; }如您所見(jiàn),我正在使用以下代碼將 excel 保存到路徑:excelworkBook.SaveAs(saveAsLocation);調(diào)用此方法后,我用它 Process.Start(fileName);來(lái)打開(kāi) excel 文件。它工作得很好,但我想要實(shí)現(xiàn)的是打開(kāi)這個(gè) excel 而不將它保存到我只想打開(kāi)的路徑,比如臨時(shí)文件。我怎樣才能做到這一點(diǎn)?
1 回答

紅糖糍粑
TA貢獻(xiàn)1815條經(jīng)驗(yàn) 獲得超6個(gè)贊
您正在保存文件而不是顯示您的 Excel 實(shí)例:
...
//now save the workbook and exit Excel
//excelworkBook.SaveAs(saveAsLocation); ;
//excelworkBook.Close();
//excel.Quit();
excel.Visible = true;
return true;
}
您首先設(shè)置excel.Visible = false;,這將使 excel 作為后臺(tái)進(jìn)程。相反,在范圍的末尾,excel.Visible = true;在所有計(jì)算完成后添加。我注釋掉了不需要的行,以便您可以看到我將新行放在哪里。
- 1 回答
- 0 關(guān)注
- 125 瀏覽
添加回答
舉報(bào)
0/150
提交
取消