zoukankan      html  css  js  c++  java
  • .Net 自定义Excel模板导出数据

    1.需要添加引用Aspose.Cells.dll

    2.这是代码压缩包下载地址:自定义Excel模板导出数据.rar

    3.前台界面

     1 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="daochu.aspx.cs" Inherits="Oceansoft.Net.CeSWeb.Module.导出Excel_通过模板_.daochu" %>
     2 
     3 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
     4 
     5 <html xmlns="http://www.w3.org/1999/xhtml">
     6 <head runat="server">
     7     <title></title>
     8 </head>
     9 <body>
    10     <form id="form1" runat="server">
    11     <div>
    12        <asp:Button ID="btnDaochu" runat="server" Text="Excel自定义模板填充数据导出" OnClick="btnDaochu_ServerClick" />
    13     </div>
    14     </form>
    15 </body>
    16 </html>
    View Code

    4.后台代码:

     1 using System;
     2 using System.Collections.Generic;
     3 using System.Linq;
     4 using System.Web;
     5 using System.Web.UI;
     6 using System.Web.UI.WebControls;
     7 using Aspose.Cells;
     8 using System.Text;
     9 using System.Data;
    10 
    11 namespace Oceansoft.Net.CeSWeb.Module.导出Excel_通过模板_
    12 {
    13     public partial class daochu : System.Web.UI.Page
    14     {
    15         protected void Page_Load(object sender, EventArgs e)
    16         {
    17 
    18         }
    19         /// <summary>
    20         /// 单击导出
    21         /// </summary>
    22         /// <param name="sender"></param>
    23         /// <param name="e"></param>
    24         public void btnDaochu_ServerClick(object sender, EventArgs e)
    25         {
    26             string file = Server.MapPath("~/Excel/ZWxxtj.xls");
    27             DataSet ds = new DataSet();
    28             DataTable dtout = new DataTable();
    29             dtout.Columns.Add("单位", typeof(string));
    30             dtout.Columns.Add("数量", typeof(string));
    31             dtout.Columns.Add("分数", typeof(string));
    32             dtout.Columns.Add("看看", typeof(string));
    33 
    34             List<DataTable> lst = null;
    35             for (int i = 0; i < 3; i++)
    36             {
    37                 lst = new List<DataTable>();
    38 
    39                 DataRow dr = dtout.NewRow();
    40                 dr["单位"] = "AAAA" + i;
    41                 dr["数量"] = "BBBB" + i;
    42                 dr["分数"] = "CCCC" + i;
    43                 dr["看看"] = "DDDD" + i;
    44                 dtout.Rows.Add(dr);
    45 
    46             }
    47             ds.Tables.Add(dtout);
    48 
    49             lst.Add(ds.Tables[0]);
    50 
    51 
    52             ExportExcelModel(this.Response, lst, file, 4);//从第四行开始填充数据
    53         }
    54 
    55         public void ExportExcelModel(HttpResponse res, List<System.Data.DataTable> Datas, string ExcelTemplatePath, int FirstRow)
    56         {
    57             //Excel的路径 是放excel模板的路径
    58             WorkbookDesigner designer = new WorkbookDesigner();
    59             designer.Open(ExcelTemplatePath);
    60 
    61             Worksheet sheet = designer.Workbook.Worksheets[0];
    62             sheet.Cells.ImportDataTable(Datas[0], false, FirstRow, 0, true);
    63 
    64             var c11 = sheet.Cells[0, 0];//第一行 第一列
    65 
    66             c11.PutValue("我是标题,大家新年快乐。。。");
    67 
    68             SaveOptions s = new XlsSaveOptions(SaveFormat.Excel97To2003);
    69             string str = "";
    70 
    71             str = HttpUtility.UrlEncode("测试.xls", Encoding.UTF8).ToString();
    72 
    73 
    74             designer.Workbook.Save(res, str, ContentDisposition.Attachment, s);
    75 
    76         }
    77     }
    78 }
    View Code
  • 相关阅读:
    在Repeater中动态添加服务器端(按钮)控件
    两种自定义表单设计方案 [转贴]
    如何解决在.Net中用Sql语句向SqlServer数据库中插入特殊字符失败的问题?
    Visual Studio 2005 IDE 技巧和窍门
    C#的Windows编程中多语言的实现
    NET设计模式(18):迭代器模式(Iterator Pattern)(转载)
    “/”应用程序中的服务器错误。当前标识(NT AUTHORITY\NETWORK SERVICE)没有对“C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files”的写访问权限。
    union的妙用
    数据类型—C++基础篇
    C++,VC++,MCF和SLT的关系
  • 原文地址:https://www.cnblogs.com/jbps/p/3549671.html
Copyright © 2011-2022 走看看