您的位置:首页 > 编程语言 > ASP

asp.net 调用 excel 组件

2009-04-14 16:44 316 查看

Asp.net 如何调用 Excel ?

1. 引用 Microsoft.Office.Interop.Excel.dll,自动包装成Interop.Microsoft.Office.Interop.Excel.dll

2. 代码:

/// <summary>

/// 生成 excel 报表

/// </summary>

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 oMissing = 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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: