zoukankan      html  css  js  c++  java
  • asp.net(C#)套用模板操作Excel

    当需要输出带大量公式的Excel文档的时候,在代码里写公式就太累了。
    用设计好的Excel模板,复制一下,往里面添加数据比较省事。
    模板

    导出文件:

    大气象
    using System;
    using System.Data;
    using System.Configuration;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;

    using System.IO;
    using System.Reflection;
    using Microsoft.Office.Interop.Excel;

    public partial class _Default : System.Web.UI.Page
    {
        
    protected void Page_Load(object sender, EventArgs e)
        {
            
    if (!IsPostBack)
                Bind();
        }
        
    private void Bind()
        {
            
    //模板文件
            string TempletFileName = Server.MapPath("template/"+ "template.xlsx";
            
    //导出文件
            string ReportFileName = Server.MapPath("xls/"+ "out.xlsx";

            
    string strTempletFile = Path.GetFileName(TempletFileName);
            
    //将模板文件复制到输出文件 
            FileInfo mode = new FileInfo(TempletFileName);
            mode.CopyTo(ReportFileName, 
    true);

            
    //打开excel
            object missing = Missing.Value;
            Application app 
    = null;
            Workbook wb 
    = null;
            Worksheet ws 
    = null;
            Range r 
    = null;
            
    //
            app = new Microsoft.Office.Interop.Excel.Application();
            wb 
    = app.Workbooks.Open(ReportFileName, false, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing);
            app.Visible 
    = true;

            
    //得到WorkSheet对象
            ws = (Worksheet)wb.Worksheets.get_Item(1);

            
    //添加或修改WorkSheet里的数据
            ws.Cells[11= "100";
            ws.Cells[
    21= "100";
            ws.Cells[
    22= "100";
            
    //代码里写个公式
            r = (Range)ws.Cells[23];
            r.Formula 
    = "=A2*B2";

            
    //输出Excel文件并退出
            wb.Save();
            wb.Close(
    nullnullnull);
            app.Workbooks.Close();
            app.Application.Quit();
            app.Quit();

            System.Runtime.InteropServices.Marshal.ReleaseComObject(ws);
            System.Runtime.InteropServices.Marshal.ReleaseComObject(wb);
            System.Runtime.InteropServices.Marshal.ReleaseComObject(app);

            ws 
    = null;
            wb 
    = null;
            app 
    = null;
        }
    }

    参考:

  • 相关阅读:
    JS运动---运动基础(匀速运动)
    浅谈浏览器解析 URL+DNS 域名解析+TCP 三次握手与四次挥手+浏览器渲染页面
    浅谈JS重绘与回流
    浅谈JS函数节流及应用场景
    浅谈JS函数防抖及应用场景
    前端模块化(CommonJs,AMD和CMD)
    Git之SSH公钥与私钥
    vi/vim编辑器必知必会
    git笔录
    vue移动端弹框组件,vue-layer-mobile
  • 原文地址:https://www.cnblogs.com/scgw/p/2181231.html
Copyright © 2011-2022 走看看