zoukankan      html  css  js  c++  java
  • asp.net 调用 excel 组件

    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

  • 相关阅读:
    【Azure 应用服务】App Service For Windows 环境中部署Python站点后,如何继续访问静态资源文件呢(Serving Static Files)?
    Go语言基础之函数参数
    Go语言基础之函数定义
    Go语言基础之map
    Go语言基础之切片
    Go语言基础之数组
    Go中nil的定义
    复合数据类型介绍
    Go语言基础之流程控制goto
    Go语言基础之流程控制switch分支
  • 原文地址:https://www.cnblogs.com/hbb0b0/p/1435762.html
Copyright © 2011-2022 走看看