• NPOI-WebForm_Excel导入与导出


    本文面对的是第一次 接触NPOI的童鞋

    不必为了一些琐碎的事情搞的心情烦躁

    废话不多说先上 Demo 的全家福

    接下来直接上代码

     1  public partial class _Default : System.Web.UI.Page
     2     {
     3         protected void Page_Load(object sender, EventArgs e)
     4         {
     5             if (IsPostBack)
     6             {
     7                 //导出Excel
     8                 ExportByWeb("ExportDemo.xlsx");
     9             }
    10             RepeaterTable.DataSource = GetDtTable();
    11             RepeaterTable.DataBind();
    12         }
    13 
    14         public static MemoryStream ExcelStream()
    15         {
    16             DataTable dtTable = GetDtTable();
    17             return ExcelHelper.ExportDT(dtTable, "HeaderText");
    18 
    19         }
    20 
    21         private static DataTable GetDtTable()
    22         {
    23             string path = HttpContext.Current.Request.MapPath("~/App_Data/excel2007.xlsx");
    24             //调用ZK的ExcelHelper
    25             DataTable dtTable = ExcelHelper.ImportExceltoDt(path);
    26             return dtTable;
    27         }
    28 
    29         public static void ExportByWeb(string strFileName)
    30         {
    31             HttpContext curContext = HttpContext.Current;
    32 
    33             // 设置编码和附件格式
    34             curContext.Response.ContentType = "application/vnd.ms-excel";
    35             curContext.Response.ContentEncoding = Encoding.UTF8;
    36             curContext.Response.Charset = "";
    37             curContext.Response.AppendHeader("Content-Disposition",
    38                 "attachment;filename=" + HttpUtility.UrlEncode(strFileName, Encoding.UTF8));
    39 
    40             curContext.Response.BinaryWrite(ExcelStream().GetBuffer());
    41             curContext.Response.End();
    42         }
    43     }

    代码很简单,很容易看懂O(∩_∩)O~

    前台绑定数据的代码

     1 <h2>
     2         欢迎使用 NPOI
     3     </h2>
     4     <asp:Repeater ID="RepeaterTable" runat="server">
     5         <HeaderTemplate>
     6             <table border="1" cellpadding="10" cellspacing="0">
     7                 <tr>
     8                     <td>
     9                         ID
    10                     </td>
    11                     <td>
    12                         品牌
    13                     </td>
    14                     <td>
    15                         型号
    16                     </td>
    17                 </tr>
    18         </HeaderTemplate>
    19         <ItemTemplate>
    20             <tr>
    21                 <td>
    22                     <%# DataBinder.Eval(Container.DataItem,"ID") %>
    23                 </td>
    24                 <td>
    25                     <%# DataBinder.Eval(Container.DataItem,"品牌") %>
    26                 </td>
    27                 <td>
    28                     <%# DataBinder.Eval(Container.DataItem,"型号") %>
    29                 </td>
    30             </tr>
    31         </ItemTemplate>
    32         <FooterTemplate>
    33             </table>
    34         </FooterTemplate>
    35     </asp:Repeater>
    36     <p>
    37         <form action="/" method="post">
    38         <input type="submit" name="name" value="导出" />
    39         </form>
    40     </p>

    执行结果:

    代码的下载地址

    http://files.cnblogs.com/zhaozhengyan/ExcelDemoFor2.0.1.rar

  • 相关阅读:
    远程服务器上的weblogic项目管理(二)发布完成后如何重启weblogic容器
    Oracle中日期和时间类函数
    程序员应如何提高实效?读《程序员修炼之道》有感
    远程服务器上的weblogic项目管理(一)项目部署与更新流程
    远程服务器上的weblogic项目管理(四)filelock not found错误解决方法
    浅拷贝与深拷贝
    for...of 与 for...in
    工厂函数创建对象
    Promise
    闭包内存泄漏解决方法
  • 原文地址:https://www.cnblogs.com/zhaozhengyan/p/webform_operExcel.html
Copyright © 2020-2023  润新知