ITPub博客

首页 > Linux操作系统 > Linux操作系统 > asp.net 调用 excel 组件

asp.net 调用 excel 组件

原创 Linux操作系统 作者:iDotNetSpace 时间:2009-04-15 15:05:58 0 删除 编辑

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/,如需转载,请注明出处,否则将追究法律责任。

下一篇: C#调用外部DLL
请登录后发表评论 登录
全部评论

注册时间:2008-01-04

  • 博文量
    2376
  • 访问量
    5316244