GridView导出到Excel或Word文件

简介:
 

在项目中我们经常会遇到要求将一些数据导出成Excel或者Word表格的情况

 

前台代码:

<form id="form1" runat="server">
    <div>
        <asp:GridView ID="gvPersonList" runat="server" >
            <Columns>
                <asp:BoundField DataField="Id" HeaderText="编号" />
                <asp:BoundField DataField="Name" HeaderText="姓名" />
                <asp:TemplateField HeaderText="性别">
                    <ItemTemplate>
                        <%# eval_r("Sex").ToString()=="true"?"男":"女" %>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:BoundField DataField="Age" HeaderText="年龄" />
                <asp:TemplateField HeaderText="婚否">
                    <ItemTemplate>
                        <%# Boolean.Parse(eval_r("Married").ToString())==true?"是":"否" %>
                    </ItemTemplate>
                </asp:TemplateField>
            </Columns>
        </asp:GridView>
        <asp:Button ID="btnToExcel" runat="server" OnClick="btnToExcel_Click" Text="导出Excel" />
        <asp:Button ID="btnToWord" runat="server" OnClick="btnToWord_Click" Text="导出Word" />
    </div>
    </form>

 

后台代码
protected void btnToExcel_Click(object sender, EventArgs e)

{
StringBuilder sb = new StringBuilder();
StringWriter sw = new StringWriter(sb);
HtmlTextWriter htw = new HtmlTextWriter(sw);

 

Page page = new Page();
HtmlForm form = new HtmlForm();

GridView1.EnableViewState = false;

page.EnableEventValidation = false;

page.DesignerInitialize();

page.Controls.Add(form);
form.Controls.Add(GridView1);

page.RenderControl(htw);

 

Response.Clear();
Response.Buffer = true;

//设置导出文件的格式
Response.ContentType = "application/vnd.ms-excel";

//假定导出的文件名为data.xls
Response.AddHeader("Content-Disposition", "attachment;filename=data.xls");
Response.Charset = "UTF-8";
Response.ContentEncoding = Encoding.Default;
Response.Write(sb.ToString());
Response.End();

}

 

protected void btnToWord_Click(object sender, EventArgs e)
{
 StringBuilder sb = new StringBuilder();
StringWriter sw = new StringWriter(sb);
HtmlTextWriter htw = new HtmlTextWriter(sw);

 

Page page = new Page();
HtmlForm form = new HtmlForm();

GridView1.EnableViewState = false;

page.EnableEventValidation = false;

page.DesignerInitialize();

page.Controls.Add(form);
form.Controls.Add(GridView1);

page.RenderControl(htw);

 

Response.Clear();
Response.Buffer = true;

//设置导出文件的格式
Response.ContentType = "application/ms-word";

//假定导出的文件名为data.xls
Response.AddHeader("Content-Disposition", "attachment;filename=data.doc");
Response.Charset = "UTF-8";
Response.ContentEncoding = Encoding.Default;
Response.Write(sb.ToString());
Response.End();

}


参考博客1:http://blog.csdn.net/zhoufoxcn/archive/2008/05/16/2450642.aspx

参考博客2:http://blog.csdn.net/rickyll/archive/2009/10/22/4714517.aspx

目录
相关文章
|
2天前
|
Java 数据库 数据安全/隐私保护
Java操作Excel文件导入导出【内含有 jxl.jar 】
Java操作Excel文件导入导出【内含有 jxl.jar 】
18 0
|
3天前
|
easyexcel Java API
SpringBoot集成EasyExcel 3.x:高效实现Excel数据的优雅导入与导出
SpringBoot集成EasyExcel 3.x:高效实现Excel数据的优雅导入与导出
13 1
|
4天前
|
API Python
Python库`openpyxl`是一个用于读取和写入Excel 2010 xlsx/xlsm/xltx/xltm文件的库。
【6月更文挑战第19天】`openpyxl`是Python处理xlsx文件的库,支持读写Excel 2010格式。使用`pip install openpyxl`安装。基本操作包括加载文件、读写单元格、操作行和列。例如,加载Excel后,可以读取单元格`A1`的值,或将“Hello, World!”写入`A1`。还可修改单元格内容,如加1后保存到新文件。更多功能,如样式和公式,见官方文档[1]。 [1]: &lt;https://openpyxl.readthedocs.io/en/stable/&gt;
23 1
|
5天前
|
JSON 资源调度 JavaScript
蓝易云 - vue实现导出excel的多种方式
以上两种方式都可以实现在Vue中导出Excel的功能,你可以根据你的需求选择合适的方式。
12 1
|
8天前
|
JavaScript 前端开发
JS导出excel功能
JS导出excel功能
|
14天前
|
Java 测试技术 Apache
《手把手教你》系列技巧篇(六十八)-java+ selenium自动化测试 - 读写excel文件 - 下篇(详细教程)
【6月更文挑战第9天】本文介绍了如何使用Java处理Excel文件中的不同数据类型,包括日期、数字、布尔值和标签(常规字符串)。文章提供了两个示例,分别使用JXL库和Apache POI库来读取Excel文件。
15 1
|
9天前
|
Java Maven
Java 怎样从 excel 中读取文件、写入文件
Java 怎样从 excel 中读取文件、写入文件
14 0
|
1月前
|
前端开发 Java
基于Java爬取微博数据(二) 正文长文本+导出数据Excel
【5月更文挑战第12天】基于Java爬取微博数据,正文长文本+导出数据Excel
|
1月前
|
Java
java导出复杂excel
java导出复杂excel
|
28天前
|
文字识别
分享:如何ocr识别身份证复印件并导出至excel表格 ? 图片批量识别导出excel表格应用,图片批量识别转excel表格的方法
该软件是一款OCR身份证识别工具,能批量处理图片,自动提取身份证信息并导出为Excel。支持百度网盘和腾讯云盘下载。用户界面直观,操作简单,适合新手。识别过程包括:打开图片、一键识别、导出结果。特别注意,此程序仅适用于身份证识别,不适用于其他类型的图片识别。
分享:如何ocr识别身份证复印件并导出至excel表格 ? 图片批量识别导出excel表格应用,图片批量识别转excel表格的方法