asp.net 呼叫 excel 元件
Asp.net 如何呼叫 Excel ?
1. 引用 Microsoft.Office.Interop.Excel.dll,自動包裝成Interop.Microsoft.Office.Interop.Excel.dll
2. 程式碼:
///
/// 生成 excel 報表
///
private void CreateExcelReport()
{
string xlTemplateFullPath = Server.MapPath("~/Function/Business/ExcelTemplate/OTOCFPY.xls");
string xlSavePath = Server.MapPath("~/Function/Business/ExcelReport");
_Application xlApp = null;
_Workbook xlWorkbook = null;
_Worksheet xlWorksheet = null;
System.Reflection.Missing Missing = System.Reflection.Missing.Value;
try
{
xlApp = new ApplicationClass();
xlWorkbook = xlApp.Workbooks.Open(xlTemplateFullPath ,
oMissing,
oMissing,
oMissing,
oMissing,
oMissing,
oMissing,
oMissing,
oMissing,
oMissing,
oMissing,
oMissing,
oMissing,
oMissing,
oMissing);
xlWorksheet = (Worksheet)xlWorkbook.Worksheets[1];
xlSavePath = Path.Combine(xlSavePath, DateTime.Now.Ticks.ToString());
//寫入excel資料
WriteData(xlWorksheet );
xlWorkbook.SaveAs(xlSavePath, oMissing, oMissing, oMissing, oMissing,
oMissing, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlShared, oMissing, oMissing, oMissing,
oMissing, oMissing);
xlApp.Visible = true;
xlApp.Quit();
//傳送excel 檔案到客戶端
Response.Clear();
Response.Buffer = true;
Response.ContentType = "application/ms-excel";
Response.AppendHeader("Content-Disposition", "attachment;filename=todayDownList.xls");
System.IO.FileInfo fileInfo = new FileInfo(xlSavePath+".xls" );
Response.AddHeader("Content-Length", fileInfo.Length.ToString());
Response.WriteFile(fileInfo.FullName);
Response.End();
}
catch (Exception ex)
{
Response.Write(ex.Message);
}
finally
{
System.Runtime.InteropServices.Marshal.ReleaseComObject(xlApp);
xlApp = null;
GC.Collect();
}
}
注意點
用完excel後一定要釋放excel
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12639172/viewspace-589266/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Angular元件——父元件呼叫子元件方法Angular元件
- ASP.NET MVC 匯入Excel檔案ASP.NETMVCExcel
- 微服務呼叫元件 Feign微服務元件
- Vue 子元件呼叫父元件方法總結Vue元件
- vue 父子元件的方法呼叫Vue元件
- 埋坑一: vue中子元件呼叫兄弟元件方法Vue元件
- hooks父元件怎麼呼叫子元件的方法?Hook元件
- vue子元件怎麼呼叫父元件的方法Vue元件
- 使用Excel呼叫ABAP系統的函式Excel函式
- aardio 兩行程式碼 呼叫 libxl 讀寫 excel行程Excel
- Blazor入門:ASP.NET Core Razor 元件BlazorASP.NET元件
- React講解 - 父元件呼叫子元件內容【更新中】React元件
- Asp.Net Core使用SignalR進行服務間呼叫ASP.NETSignalR
- 通過呼叫多個操作建立 ASP.NET MVC 檢視ASP.NETMVC
- 呼叫ASP.NET Web API不能傳送PUT/DELETE請求ASP.NETWebAPIdelete
- uniapp父組呼叫子元件中的方法APP元件
- 玩轉ASP.NET Core中的日誌元件ASP.NET元件
- ASP.NET Core視覺化日誌元件使用ASP.NET視覺化元件
- ASP.NET Core知識之RabbitMQ元件使用(二)ASP.NETMQ元件
- ASP.NET Web Forms – Repeater 控制元件簡介ASP.NETWebORM控制元件
- ASP.NET Web Forms – Button 控制元件簡介ASP.NETWebORM控制元件
- ASP.NET Web Forms – TextBox 控制元件簡介ASP.NETWebORM控制元件
- ava 新增、刪除Excel表單控制元件Excel控制元件
- 我的 vue 學習記錄2: 子元件呼叫父元件的方法Vue元件
- surfaceview元件的surfaceCreated()不被呼叫的解決方案View元件
- vue父子元件之間傳值以及方法呼叫Vue元件
- Vue+ElementUI建立全域性元件方法及呼叫VueUI元件
- 開源| 呼叫ARUICalling開源元元件釋出UI元件
- Element-ui元件庫Table表格匯出Excel表格UI元件Excel
- Java 獲取Excel中的表單控制元件JavaExcel控制元件
- ASP.NET 伺服器控制元件的生命週期ASP.NET伺服器控制元件
- ASP.NET Web Forms – 伺服器控制元件簡介ASP.NETWebORM伺服器控制元件
- Vue--子元件之間相互呼叫及傳值Vue元件
- 一個Vue3可使用的JSON轉excel元件VueJSONExcel元件
- ASP.NET Core中如何限制響應傳送速率(不是呼叫頻率)ASP.NET
- 在ASP.NET Core 中使用 .NET Aspire 訊息傳遞元件ASP.NET元件
- ASP.NET Web Forms – Web 伺服器控制元件簡介ASP.NETWebORM伺服器控制元件
- Tomcat 7 啟動分析(四)各元件 init、start 方法呼叫Tomcat元件
- vs2019 Com元件初探-通過IDispatch介面呼叫Com元件