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;
        }
    }

    参考:

  • 相关阅读:
    qt串口
    视频笔记
    视频笔记3
    视频笔记2
    视频笔记1
    将VariantMap添加到数据库
    QT5.9笔记
    li里面input框贴顶
    html增加空格
    linux图形化界面管理工具宝塔面板
  • 原文地址:https://www.cnblogs.com/scgw/p/2181231.html
Copyright © 2011-2022 走看看