zoukankan
html css js c++ java
net导出excel方法汇总
1
、由dataset生成
引用
http://www.cnblogs.com/yknb/articles/434084.html
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 colHeaders
+=
dt.Columns[i].Caption.ToString()
+
"
\t
"
;
colHeaders
+=
dt.Columns[i].Caption.ToString()
+
"
\n
"
;
//
向HTTP输出流中写入取得的数据信息
resp.Write(colHeaders);
//
逐行处理数据
foreach
(DataRow row
in
myRow)
{
//
在当前行中,逐列获得数据,数据之间以\t分割,结束时加回车符\n
for
(i
=
0
;i ls_item
+=
row[i].ToString()
+
"
\t
"
;
ls_item
+=
row[i].ToString()
+
"
\n
"
;
//
当前行数据写入HTTP输出流,并且置空ls_item以便下行数据
resp.Write(ls_item);
ls_item
=
""
;
}
}
else
{
if
(typeid
==
"
2
"
)
{
//
从DataSet中直接导出XML数据并且写到HTTP输出流中
resp.Write(ds.GetXml());
}
}
//
写缓冲区中的数据到HTTP头文件中
resp.End();
}
2
、由datagrid生成
public
void
ToExcel(System.Web.UI.Control ctl)
{
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
"
;
//
image/JPEG;text/HTML;image/GIF;vnd.ms-excel/msword
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();
}
用法:ToExcel(datagrid1);
查看全文
相关阅读:
云计算和SOA何时走到了一起?
MVP
Mvp
Technology Radar of thoughtworks
JSF
我们要积极学习互联网的用户体验
Gwt
数字的字符串处理
C语言字符串函数大全(转自百度百科)
树状数组
原文地址:https://www.cnblogs.com/zzxap/p/2175989.html
最新文章
秋季学习总结
对我影响较大的三位老师
tornado的gen.engine浅析
在tornado的异步http请求中托管一个阻塞的任务到线程池
说说Python程序的执行过程
tornado的gist
ubuntu 12.04下配置APUE环境
再谈python的属性拦截
python的参数传递机制
Python使用spark模块构造计算器
热门文章
apue编译错误汇总(Ubuntu 12.04)
用LL(1)递归下降语法器构造一个计算器
汽车Can总线
使用hessian时用 proguard进行混淆
Android Button 的单击事件的三种响应方法
android中识别QrCode
set list map的简单操作
EventDriven Architecture Overview
如何画个人方向盘?
不重新发明轮子
Copyright © 2011-2022 走看看