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);
查看全文
相关阅读:
codevs1076 排序
codevs1075 明明的随机数
codevs1205 单词翻转
codevs1204 寻找子串位置
codevs2235 机票打折
codevs1206 保留两位小数
codevs1203 判断浮点数是否相等
codevs1202 求和
codevs1201 最小数和最大数
Static Sushi AtCoder
原文地址:https://www.cnblogs.com/zzxap/p/2175989.html
最新文章
687C: The values you can make
687C: The values you can make
HDU2021 发工资咯:)
HDU2021 发工资咯:)
计算机科学的知识领域
计算机科学的知识领域
687B: Remainders Game
687B: Remainders Game
687A: NP-Hard Problem
Python程序-生成回文
热门文章
688B: Lovely Palindromes
688A: Opponents
HDU2024 C语言合法标识符
HDU2020 绝对值排序
HDU2019 数列有序!
HDU2018 母牛的故事
网络时代人物标签(两种)
HDU2016 数据的交换输出
HDU2016 数据的交换输出
codevs1083 Cantor表
Copyright © 2011-2022 走看看