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

  • 相关阅读:
    Mysql 一主两从架构转换成级联复制
    redis安装配置
    SQL语句中----删除表数据drop、truncate和delete的用法
    编译安装apache2.4.28错误
    zabbix3.2.5编译安装部署
    Keepalived 高可用集群实践
    sersync+rsync实时同步备份部署
    LINE学习
    DeepWalk学习
    csv文件的读取
  • 原文地址:https://www.cnblogs.com/hbb0b0/p/1435762.html
Copyright © 2011-2022 走看看