亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

帶有互操作庫的臨時 excel 文件

帶有互操作庫的臨時 excel 文件

C#
手掌心 2022-06-12 16:32:57
我正在使用互操作庫從數據表創建 excel,所以我的方法很簡單: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;                }如您所見,我正在使用以下代碼將 excel 保存到路徑:excelworkBook.SaveAs(saveAsLocation);調用此方法后,我用它 Process.Start(fileName);來打開 excel 文件。它工作得很好,但我想要實現的是打開這個 excel 而不將它保存到我只想打開的路徑,比如臨時文件。我怎樣才能做到這一點?
查看完整描述

1 回答

?
紅糖糍粑

TA貢獻1815條經驗 獲得超6個贊

您正在保存文件而不是顯示您的 Excel 實例:


    ...

    //now save the workbook and exit Excel


    //excelworkBook.SaveAs(saveAsLocation); ;

    //excelworkBook.Close();

    //excel.Quit();


    excel.Visible = true;

    return true;

}

您首先設置excel.Visible = false;,這將使 excel 作為后臺進程。相反,在范圍的末尾,excel.Visible = true;在所有計算完成后添加。我注釋掉了不需要的行,以便您可以看到我將新行放在哪里。


查看完整回答
反對 回復 2022-06-12
  • 1 回答
  • 0 關注
  • 134 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號