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);
查看全文
相关阅读:
TCP建立连接三次握手和释放连接四次握手
集群/分布式环境下5种session处理策略
MySQL两种引擎的区别
【深入理解JVM】:类加载器与双亲委派模型
Spring Cloud组件完整
用Redis轻松实现秒杀系统
分布式锁的基本原理
中文分词-jieba
win10安装mysql5.7.20解压版
tenaorflow函数(1)
原文地址:https://www.cnblogs.com/zzxap/p/2175989.html
最新文章
机器学习——随机森林
机器学习——基础知识
TensorBoard的使用(结合线性模型)
TensorFlow实现knn(k近邻)算法
TensorFlow核心概念和原理介绍
python matplotlib 绘图基础
主成分分析 R语言
pycharm中删除sqlite数据库中的字段:无法删除---near "DROP": syntax error [SQL: 'ALTER TABLE users DROP COLUMN avatar']
django中-----聚合aggregate和annotate GROUP BY的使用方法
Ubuntu18.04英伟达驱动的安装
热门文章
mysql修改字段长度及pymysql.err.DataError: (1406, "Data too long for column 'name' at row 1")错误
win10查看本机mac地址的详细操作
TensorFlow Serving实现多模型部署以及不同版本模型的调用
Nginx + uWSGI部署中的一些小坑
flask前端上传图片/文件
Error : Failed to get convolution algorithm. This is probably because cuDNN failed to initialize
K8S中Pod节点状态ContainerCreating原因排查
创业互联网公司如何搭建自己的技术框架
AtomicInteger类的理解与使用
数据库连接池原理详解与自定义连接池实现
Copyright © 2011-2022 走看看