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

    参考:

  • 相关阅读:
    Java 入门 36 泛型深入 泛型的概述和优势 自定义泛型类 自定义泛型方法 自定义泛型接口 泛型通配符 上下限
    Java 入门34 常见的数据结构
    Java 入门 40 日志框架 项目阶段 (Java 入门 1924天 需要使用在学)
    Java 入门 31 常用API 日期与时间
    Java 入门 32 包装类 正则表达式 Arrays类 Lambda表达式枚举
    Java 入门35 List系列集合, 几黑的并发修改异常问题 LinkedList
    OpenStack yoga安装(Ubuntu)
    OpenStack命令行添加网卡
    Ceph删除pool
    ceph osd 初始化硬盘时提示OSD::mkfs: ObjectStore::mkfs failed with error (5) Input/output error
  • 原文地址:https://www.cnblogs.com/scgw/p/2181231.html
Copyright © 2020-2023  润新知