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);
查看全文
相关阅读:
Android Studio官方文档: 如何在你的设备上运行你的程序
Android Studio ERROR: x86 emulation currently requires hardware acceleration!报错解决傻瓜教程~
Android studio 无法启动安卓模拟器
从Windows系统服务获取活动用户的注册表信息(当前活动用户的sessionId. 当前活动用户的 hUserToken)
Linux IO模式
宽字符std::wstring的长度和大小问题?sizeof(std::wstring)是固定的32,说明std::wstring是一个普通的C++类,而且和Delphi不一样,没有负方向,因为那个需要编译器的支持
Delphi 拦截滚轮事件不响应滚轮的上下滚动
台湾芯片产业的兴与衰:输赢千亿美元的生死搏杀
go语言
一次请求到响应的整个流程
原文地址:https://www.cnblogs.com/zzxap/p/2175989.html
最新文章
Java实现 蓝桥杯 算法提高 成绩排序
Java实现 蓝桥杯 算法提高 成绩排序
Java实现 蓝桥杯 算法提高 成绩排序
发布MFC ActiveX控件并实现自动更新
透明位图的显示
子窗口的透明
VC使用双缓冲避免绘图闪烁的正确使用方法【转】
MFC 可以设置背景色、字体、字体颜色、透明背景的 Static 静态文本控件
MFC非模态对话框销毁
利用OpenCV和MFC对话框建设一个有滑动条控制的播放器--转
热门文章
c++ new长度为0的数组
如何在IE8下调试OCX控件
IE8 多进程问题
android studio的模拟器waiting for target device to come online原因
Android studio 将 Module 打包成 Jar 包
android studio中文乱码各种情况的解决办法
AndroidStudio封装SDK的那些事
android打包SDK具体操作(包含第三方的jar一起打包)
Android Studio 报错Guest isn't online after 7 seconds 解决方案
No USB devices or running emulators detected”
Copyright © 2011-2022 走看看