zoukankan
html css js c++ java
将Dataset数据导出到Excel中(ASP.NET/C#)
其实是从网上搜索到的.......(学习......)
//
由dataset导出Excel
public
void
CreateExcel(DataSet ds,
string
typeid,
string
FileName)
{
HttpResponse resp;
resp
=
Page.Response;
resp.ContentEncoding
=
System.Text.Encoding.GetEncoding(
"
GB2312
"
);
resp.AppendHeader(
"
Content-Disposition
"
,
"
attachment;filename=
"
+
FileName);
string
colHeaders
=
""
, ls_item
=
""
;
int
i
=
0
;
//
定义表对象和行对像,同时用DataSet对其值进行初始化
DataTable dt
=
ds.Tables[
0
];
DataRow[] myRow
=
dt.Select(
""
);
//
typeid=="1"时导出为EXCEL格式文档;typeid=="2"时导出为XML格式文档
if
(typeid
==
"
1
"
)
{
//
取得数据表各列标题,各标题之间以\t分割,最后一个列标题后加回车符
for
(i
=
0
;i
<
dt.Columns.Count;i
++
)
{
if
(i
==
dt.Columns.Count
-
1
)
{
colHeaders
+=
dt.Columns[i].Caption.ToString()
+
"
\n
"
;
}
else
{
colHeaders
+=
dt.Columns[i].Caption.ToString()
+
"
\t
"
;
}
}
//
向HTTP输出流中写入取得的数据信息
resp.Write(colHeaders);
//
逐行处理数据
foreach
(DataRow row
in
myRow)
{
//
在当前行中,逐列获得数据,数据之间以\t分割,结束时加回车符\n
for
(i
=
0
;i
<
dt.Columns.Count;i
++
)
{
if
(i
==
dt.Columns.Count
-
1
)
{
ls_item
+=
row[i].ToString()
+
"
\n
"
;
}
else
{
ls_item
+=
row[i].ToString()
+
"
\t
"
;
}
}
//
当前行数据写入HTTP输出流,并且置空ls_item以便下行数据
resp.Write(ls_item);
ls_item
=
""
;
}
}
else
{
if
(typeid
==
"
2
"
)
{
//
从DataSet中直接导出XML数据并且写到HTTP输出流中
resp.Write(ds.GetXml());
}
}
//
写缓冲区中的数据到HTTP头文档中
resp.End();
}
查看全文
相关阅读:
Linux系统学习之网络管理
EntityFramework 6.1.2-beta2
微软开源的30个基础设施项目-C#
vs2015 Android SDK
批量删除空的文件夹
统一者管理员指南(Unifier Administration Guide)中文
XXX全球 IP 地址库
mssql2008R2 RCU-6083:ALTER database FWC SET READ_COMMITTED_SNAPSHOT ON
ORA-01843: 无效的月份,执行sql语句更改为美国语言后仍然失败的解决办法
Win7如何安装IIS来浏览ASP网站
原文地址:https://www.cnblogs.com/nikytwo/p/1209105.html
最新文章
java工程师的标准
JAVA NIO 类库的异步通信框架netty和mina
5个让人激动的Java项目
Sublime Text 如何一个代码双屏显示代码上下部分?
模板的文件名和方法名一定要一致!!
Js中/g s 什么意思
弹出式菜单css
php访问url的四种方式
volist 自增序号 分页如何实现?
TP5安装失败怎么办?
热门文章
localhost连接慢如何解决?
Linux系统学习之软件安装
如何在一台机器上部署多个tomcat
nginx做负载均衡和tomcat简单集群
yum问题解决
MyBatis原理简介和小试牛刀
文件上传之Servlet
单例模式和JDBC
Linux系统学习之进程管理
Java部署环境搭建(Linux)
Copyright © 2011-2022 走看看