基于Response的将数据导出到Excel
????? ?眾所周知,Respone.Write()是輸出Html流程序給用戶的。考慮到一個標(biāo)準(zhǔn)的Web頁面的是有多種呈現(xiàn)方式的,
例如:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />?這是以標(biāo)準(zhǔn)網(wǎng)頁形式輸出Html流
<meta http-equiv="Content-Type" content="application/vnd.ms-excel">
<meta http-equiv="Content-Disposition" content="attachment; filename=ex.xls">這是以附件形式輸出Html流,而且是將“數(shù)據(jù)”存放在ex.xls這個表格中。^_^
那么我們以編碼的形式如何顯示^_^(現(xiàn)在寫VB了,給出的也是VB的事例)
1 Dim _DataStringWriter As StringWriter = New StringWriter 定義一個StringWriter對象
2 _DataStringWriter.WiteLine("FirstFieldName" + ControlChars.Tab + "SecondFieldName")給輸出的Excel表格每? 列加入名稱
3 從數(shù)據(jù)“容器”里面將數(shù)據(jù)取出。例如
?? Dim dt as New DataTable
?? For i as Integer = 0 To dt.Rows.Count - 1 Then
?? _DataStringWriter.WiteLine(dt(i)(0) + ControlChars.Tab?+ dt(i)(1))
?? Next
4 Response.AddHeader("Content-Disposition", "attachment; filename=" & fileName)
?? Response.ContentType = "application/vnd.ms-excel"
?? Response.ContentEncoding = System.Text.Encoding.Unicode
5 Response.Write(_DataStringWriter)?輸出Html流
???Response.End()
以上已經(jīng)可以實(shí)現(xiàn)將數(shù)據(jù)導(dǎo)入到Excel表格,如果需要導(dǎo)入Word則Response.ContentType = "application/vnd.ms-excel"中改為Response.ContentType = "application/vnd.ms-word"即可。但是注意將fileName也應(yīng)隨之改變,XX.xls或者XX.doc
轉(zhuǎn)載于:https://www.cnblogs.com/AndrewZhang/archive/2008/06/10/1216688.html
總結(jié)
以上是生活随笔為你收集整理的基于Response的将数据导出到Excel的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: multisim 仿真
- 下一篇: 对使用CodeSmith模板生成NHib