1 Response.AppendHeader("Content-Disposition", "attachment;filename=Excel.xls")
2
3 Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312")
4 Response.ContentType = "application/ms-excel"
5 Dim tw As New System.IO.StringWriter
6 Dim hw As New HtmlTextWriter(tw)
7 dgDrv.RenderControl(hw)
8 Response.Write(tw.ToString())
9 Response.End()
10
11 ---------------------
12 导出txt文件
13 Dim ds As New DataSet
14 Dim row As DataRow
15 Dim txtWriter As New StringWriter
16
17 If Not Session(SessionConst) Is Nothing Then
18 ds = CType(Session(SessionConst), DataSet)
19 For Each row In ds.Tables(ICLog).Rows
20 txtWriter.WriteLine(row(ICImportLog.DBCOL_ERRRECORD))
21 Next
22 End If
23 txtWriter.Flush()
24 Response.Clear()
25 Page.Response.AddHeader("Content-Disposition", String.Format("attachment;filename=ahwzrec{0}.txt", Today.ToString("yyyy-MM-dd")))
26 Response.Write(txtWriter.ToString())
27 Response.End()
28
2
3 Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312")
4 Response.ContentType = "application/ms-excel"
5 Dim tw As New System.IO.StringWriter
6 Dim hw As New HtmlTextWriter(tw)
7 dgDrv.RenderControl(hw)
8 Response.Write(tw.ToString())
9 Response.End()
10
11 ---------------------
12 导出txt文件
13 Dim ds As New DataSet
14 Dim row As DataRow
15 Dim txtWriter As New StringWriter
16
17 If Not Session(SessionConst) Is Nothing Then
18 ds = CType(Session(SessionConst), DataSet)
19 For Each row In ds.Tables(ICLog).Rows
20 txtWriter.WriteLine(row(ICImportLog.DBCOL_ERRRECORD))
21 Next
22 End If
23 txtWriter.Flush()
24 Response.Clear()
25 Page.Response.AddHeader("Content-Disposition", String.Format("attachment;filename=ahwzrec{0}.txt", Today.ToString("yyyy-MM-dd")))
26 Response.Write(txtWriter.ToString())
27 Response.End()
28
如果是附件名是中文的话
Page.Response.AddHeader("Content-Disposition", String.Format("attachment;filename={0}.txt", HttpUtility.UrlEncode("中文", System.Text.Encoding.UTF8)))
ps:web上导出有象身份证明号码这样的字段的解决办法
字段后面加上一个 " " 否则excel会认为是数字,而把他自动转换成科学计数法来表示。
方法是不是很BT :p
例如:
Select dabh || ' ' as dabh,sfzmhm || ' ' as sfzmhm ....
2006-12-20 最新bt的问题
其他页面导出数据都是ok的,但是有个页面import出来的就是乱码,
后来指定了 Response.ContentEncoding = System.Text.Encoding.GetEncoding("utf-8")
这个页面是好了,但是其他页面竟然变成韩文了
用Notepad 打开导出的文件,都是html代码,都是正常的, 郁闷啊
后来我也做了个bt的方法,
不设置Response.ContentEncoding 就用默认的
但是有乱码的那一列 在后面增加一个空格(可以在sql语句中处理,也可以在程序中处理)
后来就哦卡了
在此记录一下 太bt了,搞不懂为什么
浙公网安备 33010602011771号