.NET乐园
一个梦想,一个行动…… (欢迎光临我的淘宝http://shop35795100.taobao.com,专营休闲服饰和运动鞋)
博客园
首页
新随笔
新文章
联系
订阅
管理
posts - 47,comments - 116,trackbacks - 8
<
2008年4月
>
日
一
二
三
四
五
六
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
7
8
9
10
与我联系
发短消息
常用链接
我的随笔
我的空间
我的短信
我的评论
更多链接
我的参与
我的新闻
最新评论
我的标签
留言簿
给我留言
查看留言
我参与的团队
广州.NET俱乐部(1/1669)
ASP.NET AJAX (Atlas)学习(0/1307)
随笔分类
Ajax & Atlas(1)
ASP.NET(3)
SharePoint(2)
Visual Studio.NET(1)
电影音乐(2)
架构设计(25)
开发综合(2)
生活点滴(9)
项目管理(1)
随笔档案
2008年6月 (1)
2008年1月 (1)
2007年11月 (2)
2007年10月 (1)
2007年9月 (5)
2007年8月 (5)
2007年7月 (7)
2007年6月 (13)
2007年5月 (4)
2006年8月 (2)
2006年6月 (1)
2006年5月 (1)
2006年3月 (3)
文章分类
Visual Studio.NET
人生哲理(1)
生活感悟
影视娱乐
相册
花卉植物
收藏夹
ASP.NET(5)
SQL Server(1)
Visual Studio.NET
管理精髓(1)
.NET
AJAX学习Blog
Atlas官方
管理知识
经理世界网
搜索
最新评论
1. re: 我的电影记录
超级好看,我看完后只能联想到三个悬念。第一就是那女的为什么片头会惊醒,因为她杀了自己小孩,已是鬼了。第二就是那三个仆人第一次出现时说的话。第三就是女人与丈夫的相遇,因为她丈夫也是鬼。 ...
--juanna
2. re: 中奖的幸运与不幸
还是国美的便宜嘛,为什么不去那呢,我五一在国美解放店买了一套家电比旁边的苏宁和解百都便宜.
--yi yi
3. re: 把WebForm数据导出到Excel中
@编程者
这个是数据访问的组件,相当于SqlHelper。
乱码肯定是编码的问题,你试试utf-8看看。
--Charly
4. re: 内容发布系统的开发
@瑾记于心 一般的分页列表,第一页访问量比较大,后面的相对较少。如果改动一条数据就去生成整个列表,代价很大。所以我之前的做法是第一页生成静态,其他页是动态读取的。这样每次只用更新第一页即可,更新速度快...
--Charly
5. re: 内容发布系统的开发
如果列表要求可以分页,那应该怎么做?
--瑾记于心
阅读排行榜
1. 内容发布系统的开发(6101)
2. 提升软件的用户体验(3057)
3. 随便谈谈最近参与的2个项目(1680)
4. 编译.NET项目提示“找不到系统命名空间,请添加系统组件的引用”问题的解决方法(该组件已被该项目正确引用)(887)
5. 关于Atlas Client Library(779)
评论排行榜
1. 内容发布系统的开发(40)
2. 随便谈谈最近参与的2个项目(23)
3. 提升软件的用户体验(17)
4. 把WebForm数据导出到Excel中(7)
5. 中奖的幸运与不幸(6)
把WebForm数据导出到Excel中
上午给系统的订单管理部分添加了一个功能,把查询到的订单信息导出到Excel,供管理员分析用。以前写的代码如下:
Response.Clear();
Response.BufferOutput
=
true
;
Response.Charset
=
"
GB2312
"
;
Response.AppendHeader(
"
Content-Disposition
"
,
"
attachment;filename = FileName.xls
"
);
Response.ContentEncoding
=
Encoding.GetEncoding(
"
GB2312
"
);
Response.ContentType
=
"
application/ms-excel
"
;
this
.EnableViewState
=
false
;
System.Globalization.CultureInfo myinfo
=
new
System.Globalization.CultureInfo(
"
ZH-CN
"
,
true
);
StringWriter osw
=
new
StringWriter(myinfo);
HtmlTextWriter ohtw
=
new
HtmlTextWriter(osw);
dgQueryResult.RenderControl(ohtw);
Response.Write(osw);
Response.End();
我的查询用了分页,客户要求把所有查询到的数据都导出到Excel,所以不能象以前那样通过把控件的内容导出到Excel来实现此功能,于是把代码改成这样:
Response.Clear();
Response.BufferOutput
=
true
;
Response.Charset
=
"
GB2312
"
;
Response.AppendHeader(
"
Content-Disposition
"
,
"
attachment;filename = 订单.xls
"
);
Response.ContentEncoding
=
System.Text.Encoding.GetEncoding(
"
GB2312
"
);
Response.ContentType
=
"
application/ms-excel
"
;
string
strExcelHeader
=
string
.Empty;
string
strExcelItems;
if
(ViewState[
"
SQL
"
]
!=
null
) // 取前面查询用的SQL语句
{
//
取得各列标题,各标题之间以\t分割,最后一个列标题后加回车符
strExcelHeader
=
"
订单号\t经销商\t地区\t小类\t商品\t实付金额\t下单时间\t有效状态\t处理状态\t\n
"
;
//
向HTTP输出流中写入取得的数据信息
Response.Write(strExcelHeader);
//
逐行处理查询结果数据
ITDBHandle itDbHandle
=
new
ITDBHandle();
itDbHandle.QueryString
=
ViewState[
"
SQL
"
].ToString();
SqlDataReader reader
=
itDbHandle.ExecuteDataReader();
while
(reader.Read())
{
strExcelItems
=
string
.Empty;
strExcelItems
+=
reader[
"
OrderID
"
].ToString()
+
"
\t
"
;
strExcelItems
+=
reader[
"
DealerName
"
].ToString()
+
"
\t
"
;
strExcelItems
+=
reader[
"
City
"
].ToString()
+
"
\t
"
;
strExcelItems
+=
reader[
"
SmallClassName
"
].ToString()
+
"
\t
"
;
strExcelItems
+=
reader[
"
BrandName
"
].ToString()
+
reader[
"
Model
"
].ToString()
+
"
\t
"
;
strExcelItems
+=
reader[
"
TotalPrice
"
].ToString()
+
"
\t
"
;
strExcelItems
+=
reader[
"
OrderDate
"
].ToString()
+
"
\t
"
;
strExcelItems
+=
reader[
"Is
Valid
"
].ToString()
+
"
\t
"
;
strExcelItems
+=
reader[
"
DealState
"
].ToString()
+
"
\n
"
;
Response.Write(strExcelItems);
}
reader.Close();
Response.End();
}
我这里只是简单的把查询到的数据以Excel的形式Write出来(当然也可以是其他格式,比如XML),对简单的需求足矣了,当然,用.NET直接去操作Excel文件也是很简单的,有很多这样的例子可以参考。
欢迎访问我的淘宝
http://shop35795100.taobao.com
,专营衣服和鞋子。
posted on 2006-05-15 15:44
Charly
阅读(676)
评论(7)
编辑
收藏
所属分类:
ASP.NET
FeedBack:
#1楼
2006-05-16 12:17 |
tanyuqiong [未注册用户]
能贴出详细代码吗????
回复
引用
查看
#2楼
[
楼主
]
2006-05-16 23:01 |
Charly
@tanyuqiong
有需要的话联系我QQ27838264
回复
引用
查看
#3楼
2007-06-18 16:26 |
王斌
能贴出详细代码吗????
可以的话联系我:aiouluosi.cool@163.com
回复
引用
查看
#4楼
[
楼主
]
2007-06-21 15:14 |
Charly
@王斌
这就是详细代码了啊,从数据库取出数据,输出。
回复
引用
查看
#5楼
2008-04-11 15:27 |
编程者 [未注册用户]
你添加的引用能贴出来吗?ITDBHandle 是哪里来的?
回复
引用
查看
#6楼
2008-04-11 15:29 |
编程者 [未注册用户]
还有一个问题,我导出到excel 中文的都变成了乱码? Encoding.GetEncoding("GB2312"); 这句代码我也有,不知道是什么原因!
回复
引用
查看
#7楼
[
楼主
]
2008-05-21 21:57 |
Charly
@编程者
这个是数据访问的组件,相当于SqlHelper。
乱码肯定是编码的问题,你试试utf-8看看。
回复
引用
查看
社区
新闻
新用户注册
刷新评论列表
标题
姓名
主页
Email
(只有博主才能看到)
验证码
*
看不清,换一张
内容(请不要发表任何与政治相关的内容)
Remember Me?
登录
使用高级评论
新用户注册
返回页首
恢复上次提交
[使用Ctrl+Enter键可以直接提交]
该文被作者在 2006-05-15 16:00 编辑过
另存
打印
所属分类的其他文章:
·
写了个分页导航控件
·
值得注意的几个.NET2.0新特性
·
把WebForm数据导出到Excel中
最新IT新闻:
·
微软高管:Wii用户最终会成为Xbox 360用户
·
遵守YouTube案裁定 谷歌将陷入隐私指控深渊
·
iPhone入华在即 中国手机产业生存面临考验
·
阿里巴巴集团再向淘宝注资20亿元
·
56被关一月 危机的是整个视频业
博客园新闻频道
博客园首页
社区