runxinzhi.com
首页
百度搜索
asp.net数据导出到Excel (从网络摘操)
///
<summary>
///
该方法实现将数据导入到Excel文件中,其中的DataTable dt就是你需要将数据写入到Excel中的数据;
///
</summary>
///
<param name="dt">
导出的数据源
</param>
///
<param name="w">
文件流
</param>
public
void
ExportExcel(DataTable dt, System.IO.StreamWriter w)
{
//
HttpResponse resp;
//
resp = Page.Response;
//
resp.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
//
resp.AppendHeader("Content-Disposition", "attachment;filename=" + FileName);
string
colHeaders
=
""
, ls_item
=
""
;
//
定义表对象与行对象,同时用DataSet对其值进行初始化
DataRow[] myRow
=
dt.Select();
//
可以类似dt.Select("id>10")之形式达到数据筛选目的
int
i
=
0
;
int
cl
=
dt.Columns.Count;
//
取得数据表各列标题,各标题之间以t分割,最后一个列标题后加回车符
for
(i
=
0
; i
<
cl; i
++
)
{
if
(i
==
(cl
-
1
))
//
最后一列,加n
{
colHeaders
+=
dt.Columns[i].Caption.ToString()
+
"
\n
"
;
}
else
{
colHeaders
+=
dt.Columns[i].Caption.ToString()
+
"
\t
"
;
}
}
//
resp.Write(colHeaders);
w.Write(colHeaders);
//
向HTTP输出流中写入取得的数据信息
//
逐行处理数据
foreach
(DataRow row
in
myRow)
{
//
当前行数据写入HTTP输出流,并且置空ls_item以便下行数据
for
(i
=
0
; i
<
cl; i
++
)
{
if
(i
==
(cl
-
1
))
//
最后一列,加n
{
ls_item
+=
row[i].ToString()
+
"
\n
"
;
}
else
{
ls_item
+=
row[i].ToString()
+
"
\t
"
;
}
}
w.Write(ls_item);
ls_item
=
""
;
}
//
resp.End();
w.Flush();
w.Close();
}
二、直接从Gridview里导出
这种导出是所见既所得的方式,就是显示在gridview里是什么样导出就是什么样了,这个导出就好看多了,谢谢~!@
this
.Panel1.Visible
=
false
;
Response.Clear();
Response.Buffer
=
true
;
Response.Charset
=
"
GB2312
"
;
string
filename
=
"
Task
"
+
System.DateTime.Now.Year.ToString()
+
System.DateTime.Now.Month.ToString()
+
System.DateTime.Now.Day.ToString()
+
System.DateTime.Now.Hour.ToString()
+
System.DateTime.Now.Minute.ToString()
+
"
.xls
"
;
Response.AppendHeader(
"
Content-Disposition
"
,
"
attachment;filename=
"
+
System.Web.HttpUtility.UrlEncode
(
filename));
//
如果设置为 GetEncoding("GB2312");导出的文件将会出现乱码!!!
Response.ContentEncoding
=
System.Text.Encoding.UTF7;
Response.ContentType
=
"
application/ms-excel
"
;
//
设置输出文件类型为excel文件。
System.IO.StringWriter oStringWriter
=
new
System.IO.StringWriter();
System.Web.UI.HtmlTextWriter oHtmlTextWriter
=
new
System.Web.UI.HtmlTextWriter(oStringWriter);
this
.GridView1.RenderControl(oHtmlTextWriter);
//
读取数据了
Response.Output.Write(oStringWriter.ToString());
Response.Flush();
Response.End();
this
.Panel1.Visible
=
true
;
由于ReaderControl方法会重调客户端的一个方法验证,如果不重载的话会报错
public
override
void
VerifyRenderingInServerForm(Control control)
{
//
base.VerifyRenderingInServerForm(control);
}
相关阅读:
JQuery是继prototype之后又一个优秀的Javascript库
IAsyncResult接口
Asynchronous Programming Patterns
操作数据库的时候,使用自带的DbProviderFactory类 (涉及抽象工厂和工厂方法)
8.2.4对象之间的关系
git squash 和 git rebase
8.2.3多态性 第8章 面向对象编程简介
github的使用教程
第7章 调试和错误处理 7.1.1 VS中的调试
markdown的语法说明
原文地址:https://www.cnblogs.com/gyxdbk/p/1398081.html
最新文章
十一. 如果没有这个4扫盲项目,不要试图在初创公司
DNS劫持
织梦dedecms如何去除版权中的Power by DedeCms
函数iconv_substr和mb_substr
织梦5.7DEDECMS标签大全
dede织梦后台页面及功能修改及精简操作方法
修改织梦默认栏目页、文章页URL命名规则,简化目录结构
织梦DedeCMS v5.7 实现导航条下拉菜单
关于将dede织梦data目录迁移出web目录
dedecms幻灯片调用图片模糊的解决办法
热门文章
火狐浏览器怎么查看页面加载了那些js文件,那系js文件有作用
openwrt上wifi探针的实现----mt7620a+rt2860v2
blink接收器
error:cannot load file (code:5555h);bootauto.ini
使用Ambari快速部署Hadoop大数据环境
logstash+ElasticSearch+Kibana VS Splunk
用Kibana和logstash快速搭建实时日志查询、收集与分析系统
Sprite Kit教程:初学者
Cordova webapp实战开发:(2)认识一下Cordova
Cordova提供了一组设备相关的API,通过这组API,移动应用能够以JavaScript访问原生的设备功能,如摄像头、麦克风等。
Copyright © 2020-2023
润新知