DataGrid中的數據導入到Word和Excel_VB
2024-07-21 02:22:51
供稿:網友
imports system
imports system.collections
imports system.componentmodel
imports system.data
imports system.drawing
imports system.web
imports system.web.sessionstate
imports system.web.ui
imports system.web.ui.webcontrols
imports system.web.ui.htmlcontrols
imports system.io
imports system.data.sqlclient
imports system.text
public class webform1
inherits system.web.ui.page
#region " web 窗體設計器生成的代碼 "
'該調用是 web 窗體設計器所必需的。
<system.diagnostics.debuggerstepthrough()> private sub initializecomponent()
end sub
protected withevents datagrid1 as system.web.ui.webcontrols.datagrid
protected withevents btn_import_excel as system.web.ui.webcontrols.button
protected withevents btnimportword as system.web.ui.webcontrols.button
'注意: 以下占位符聲明是 web 窗體設計器所必需的。
'不要刪除或移動它。
private designerplaceholderdeclaration as system.object
private sub page_init(byval sender as system.object, byval e as system.eventargs) handles mybase.init
'codegen: 此方法調用是 web 窗體設計器所必需的
'不要使用代碼編輯器修改它。
initializecomponent()
end sub
#end region
private sub page_load(byval sender as system.object, byval e as system.eventargs) handles mybase.load
'在此處放置初始化頁的用戶代碼
createdataset()
end sub
private sub exportdatagrid(byval filetype as string, byval filename as string) '從datagrid導出
response.charset = "gb2312"
response.contentencoding = system.text.encoding.getencoding("gb2312")
response.appendheader("content-disposition", "attachment;filename=" & httputility.urlencode(filename, system.text.encoding.utf8))
response.contenttype = filetype
me.enableviewstate = false
dim tw as system.io.stringwriter
tw = new system.io.stringwriter
dim hw as system.web.ui.htmltextwriter
hw = new htmltextwriter(tw)
datagrid1.rendercontrol(hw)
response.write(tw.tostring())
response.end()
end sub
private sub createdataset() '創建dataset
dim mydataset as dataset
mydataset = new dataset("anewdataset")
dim table1 as datatable
table1 = maketable("id", "name")
mydataset.tables.add(table1)
datagrid1.datasource = mydataset
datagrid1.databind()
end sub
private function maketable(byval c1name as string, byval c2name as string) as datatable '創建表
dim i as integer
dim mytable as new datatable
dim mycolumn as datacolumn
' add two datacolumns
mycolumn = new datacolumn(c1name, system.type.gettype("system.int32")) '創建字段和設置類型
mytable.columns.add(mycolumn)
mycolumn = new datacolumn(c2name, system.type.gettype("system.string"))
mytable.columns.add(mycolumn)
dim dr as datarow
for i = 1 to 10
dr = mytable.newrow()
dr(0) = i
dr(1) = "name" + i.tostring()
mytable.rows.add(dr)
next i
maketable = mytable
end function
private sub btnimportword_click(byval sender as system.object, byval e as system.eventargs) handles btnimportword.click
call exportdatagrid("application/ms-word", "指數列表.doc") '導到word
end sub
private sub btn_import_excel_click(byval sender as system.object, byval e as system.eventargs) handles btn_import_excel.click
call exportdatagrid("application/ms-excel", "指數列表.xls") '導到excel
end sub
end class