会员
周边
众包
新闻
博问
闪存
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
滨_Notepad
学习工作点滴积累
博客园
::
首页
::
新随笔
::
联系
::
订阅
::
管理
公告
C#导出Excal表
Posted on
2007-12-01 21:16
新人~
阅读(
366
) 评论(
0
)
编辑
收藏
举报
C#导出Excal表
//
C#导出Excal表
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
"
)
{
//
取得数据表各列标题,各标题之间以 分割,最后一个列标题后加回车符
for
(i
=
0
;i
<
dt.Columns.Count
-
1
;i
++
)
colHeaders
+=
dt.Columns[i].Caption.ToString()
+
"
"
;
colHeaders
+=
dt.Columns[i].Caption.ToString()
+
"
"
;
//
向HTTP输出流中写入取得的数据信息
resp.Write(colHeaders);
//
逐行处理数据
foreach
(DataRow row
in
myRow)
{
//
在当前行中,逐列获得数据,数据之间以 分割,结束时加回车符
for
(i
=
0
;i
<
row.Table.Columns.Count
-
1
;i
++
)
ls_item
+=
row[i].ToString()
+
"
"
;
ls_item
+=
row[i].ToString()
+
"
"
;
//
当前行数据写入HTTP输出流,并且置空ls_item以便下行数据
resp.Write(ls_item);
ls_item
=
""
;
}
}
else
{
if
(typeid
==
"
2
"
)
{
//
从DataSet中直接导出XML数据并且写到HTTP输出流中
resp.Write(ds.GetXml());
}
}
//
写缓冲区中的数据到HTTP头文件中
resp.End();
}
会员力量,点亮园子希望
刷新页面
返回顶部
Powered by:
博客园
Copyright © 2024 新人~
Powered by .NET 8.0 on Kubernetes