博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Asp.Net导出数据到Excel
阅读量:6560 次
发布时间:2019-06-24

本文共 2516 字,大约阅读时间需要 8 分钟。

 

 

对应的详细信息:如下图

如图,根据当前的gv标题对应的id,然后生成excel表格

 

代码如下:

 

ExpandedBlockStart.gif
代码
    
protected
 
void
 btnToExcel_Click(
object
 sender, EventArgs e)
    {
        DGToExcel();
    }
    
public
 
void
 DGToExcel()
    {
        GridView gvNew 
=
 
new
 GridView();
        gvNew.DataSource 
=
 GetData();
        gvNew.DataBind();
        System.Web.UI.Control ctl 
=
 gvNew;
        HttpContext.Current.Response.AppendHeader(
"
Content-Disposition
"
"
attachment;filename=Excel.xls
"
);
        HttpContext.Current.Response.Charset 
=
 
"
UTF-8
"
;
        HttpContext.Current.Response.ContentEncoding 
=
 System.Text.Encoding.Default;
        HttpContext.Current.Response.ContentType 
=
 
"
application/ms-excel
"
;
        
//
ctl.Page.EnableViewState = false;
        System.IO.StringWriter tw 
=
 
new
 System.IO.StringWriter();
        System.Web.UI.HtmlTextWriter hw 
=
 
new
 System.Web.UI.HtmlTextWriter(tw);
        ctl.RenderControl(hw);
        HttpContext.Current.Response.Write(tw.ToString());
        HttpContext.Current.Response.End();
    }
    
private
 DataTable GetData()
    {
        DataTable dt 
=
 CreateStructure();
        
for
 (
int
 i 
=
 
0
; i 
<
 gvMsg.Rows.Count; i
++
)
        {
            CheckBox cb 
=
 (gvMsg.Rows[i].FindControl(
"
chkSelect
"
)) 
as
 CheckBox;
            
if
 (cb.Checked)
            {
                
int
 MsgId 
=
 
0
;
                
try
                {
                    MsgId 
=
 
int
.Parse((gvMsg.Rows[i].FindControl(
"
lblId
"
as
 Label).Text);
                }
                
catch
 (Exception)
                {
                    
continue
;
                }
                Message msg 
=
 MessageManage.GetMessageById(MsgId);
                DataRow dr 
=
 dt.NewRow();
                dr[
"
编号
"
=
 msg.Id;
                dr[
"
标题
"
=
 msg.Title;
                dr[
"
内容
"
=
 msg.Content;              
                dr[
"
消息从何处发送
"
=
 
this
.GetMsgAddress(msg.MsgType).ToString();
                dr[
"
意向产品
"
=
 GetProduct(MsgId);
                dr[
"
代理人/发信人
"
=
 msg.AgentManName;
                dr[
"
代理区域
"
=
 msg.AgentArea;
                dr[
"
代理产品类型
"
=
 GetType(msg.AgentType);
                dr[
"
电话
"
=
 msg.Phone;
                dr[
"
地址
"
=
 msg.Address;
                dr[
"
发送时间
"
=
 msg.SendTime;
                dt.Rows.Add(dr);
            }
        }
        
return
 dt;
    }
    
private
 DataTable CreateStructure()
    {       
        DataTable dt 
=
 
new
 DataTable();
        dt.Columns.Add(
new
 DataColumn(
"
编号
"
typeof
(
int
)));
        dt.Columns.Add(
new
 DataColumn(
"
标题
"
typeof
(
string
)));
        dt.Columns.Add(
new
 DataColumn(
"
内容
"
typeof
(
string
)));
        dt.Columns.Add(
new
 DataColumn(
"
消息从何处发送
"
typeof
(
string
)));
        dt.Columns.Add(
new
 DataColumn(
"
意向产品
"
typeof
(
string
)));
        dt.Columns.Add(
new
 DataColumn(
"
代理人/发信人
"
typeof
(
string
)));
        dt.Columns.Add(
new
 DataColumn(
"
代理区域
"
typeof
(
string
)));
        dt.Columns.Add(
new
 DataColumn(
"
代理产品类型
"
typeof
(
string
)));
        dt.Columns.Add(
new
 DataColumn(
"
电话
"
typeof
(
string
)));
        dt.Columns.Add(
new
 DataColumn(
"
地址
"
typeof
(
string
)));
        dt.Columns.Add(
new
 DataColumn(
"
发送时间
"
typeof
(DateTime)));
        
return
 dt;
    }

 

 

但是我也遇到了一个问题,就是excel生成的超级链接,是以文本的形式显示出来,哪位大侠遇到这样的问题,请指点迷津.

 

转载地址:http://qlqco.baihongyu.com/

你可能感兴趣的文章
c 编译异常 switch 之a label can only be part of a statement and a declaration is not a statement...
查看>>
nullnullDataTable 排序
查看>>
Codeforces Ilya and Queries
查看>>
NEWS - InstallShield 2013发布
查看>>
Viewport
查看>>
〖Linux〗Debian 7.1.0 Wheezy使用ltib报错的解决办法
查看>>
〖Android〗(how-to) fix k860/k860i buletooth.
查看>>
static与线程安全 -摘自网络
查看>>
jsf标签,jsp标签与jstl标签
查看>>
使用PHP CURL的POST数据
查看>>
struts2:表单标签
查看>>
mysql字符串截取
查看>>
ASP.NET MVC3 通过Url传多个参数方法
查看>>
遭遇sql server 2005 启动包未能正确加载需要重新安装错误,重装.NET FRAMEWORK经历分析...
查看>>
《Essential C++》读书笔记 之 基于对象编程风格
查看>>
ASP.NET MVC上传文件----uploadify的使用
查看>>
第二章 Java浮点数精确计算
查看>>
简明 MongoDB 入门教程
查看>>
.NET Core 3.0中的数据库驱动框架System.Data
查看>>
北大AI公开课2019 | 雷鸣:人工智能革命与机遇
查看>>