国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

在.NET環(huán)境下將報表數(shù)據(jù)導(dǎo)出EXCEL和WORD

2024-07-10 13:02:39
字體:
供稿:網(wǎng)友
注冊會員,創(chuàng)建你的web開發(fā)資料庫,在vb6開發(fā)環(huán)境下,本人使用excel作過報表,在.net環(huán)境下開發(fā),本人使用水晶報表。但vb.net同樣可以將報表導(dǎo)出到excel和word進行輸出,制作出專業(yè)水平的報表。

具體操作如下:(注:首先需添加引用,選擇com,選擇microsoft word 10.0 object library和microsoft excel 10.0 object library組件)

1.先創(chuàng)建一個datatable,作為數(shù)據(jù)來源,也可以另將其它的數(shù)據(jù)源。

private function creatable() as datatable
dim dt as new datatable()
dt.columns.add("列1", gettype(string))
dt.columns.add("列2", gettype(integer))
dt.columns.add("列3", gettype(string))
dt.columns.add("列4", gettype(string))
dim row, row1 as datarow
row = dt.newrow()
row!列1 = "行1"
row!列2 = 1
row!列3 = "d"
row!列4 = "a"
dt.rows.add(row)
row1 = dt.newrow()
row1!列1 = "行2"
row1!列2 = 12
row1!列3 = "b"
row1!列4 = "c"
dt.rows.add(row1)
return dt
end function

2.將表中的內(nèi)容導(dǎo)出到excel
dim xlapp as new excel.application()
dim xlbook as excel.workbook
dim xlsheet as excel.worksheet

dim rowindex, colindex as integer
rowindex = 1
colindex = 0

xlbook = xlapp.workbooks().add
xlsheet = xlbook.worksheets("sheet1")

dim table as new datatable()
table = creatable()

'將所得到的表的列名,賦值給單元格
dim col as datacolumn
dim row as datarow
for each col in table.columns
colindex = colindex + 1
xlapp.cells(1, colindex) = col.columnname
next

'得到的表所有行,賦值給單元格
for each row in table.rows
rowindex = rowindex + 1
colindex = 0
for each col in table.columns
colindex = colindex + 1
xlapp.cells(rowindex, colindex) = row(col.columnname)
next
next

with xlsheet
.range(.cells(1, 1), .cells(1, colindex)).font.name = "黑體"
'設(shè)標題為黑體字
.range(.cells(1, 1), .cells(1, colindex)).font.bold = true
'標題字體加粗
.range(.cells(1, 1), .cells(rowindex, colindex)).borders.linestyle = 1
'設(shè)表格邊框樣式
end with

with xlsheet.pagesetup
.leftheader = "" & chr(10) & "&""楷體_gb2312,常規(guī)""&10公司名稱:" ' & gsmc
.centerheader = "&""楷體_gb2312,常規(guī)""公司人員情況表&""宋體,常規(guī)""" & chr(10) & "&""楷體_gb2312,常規(guī)""&10日 期:"
.rightheader = "" & chr(10) & "&""楷體_gb2312,常規(guī)""&10單位:"
.leftfooter = "&""楷體_gb2312,常規(guī)""&10制表人:"
.centerfooter = "&""楷體_gb2312,常規(guī)""&10制表日期:"
.rightfooter = "&""楷體_gb2312,常規(guī)""&10第&p頁 共&n頁"
end with

xlapp.visible = true

3.將表中的內(nèi)容導(dǎo)出到word
dim wordapp as new word.application()
dim mydoc as word.document
dim otable as word.table

dim rowindex, colindex as integer
rowindex = 1
colindex = 0

wordapp.documents.add()
mydoc = wordapp.activedocument

dim table as new datatable()
table = creatable()

otable = mydoc.tables.add(range:=mydoc.range(start:=0, end:=0), numrows:=table.rows.count + 1, numcolumns:=table.columns.count)

'將所得到的表的列名,賦值給單元格
dim col as datacolumn
dim row as datarow
for each col in table.columns
colindex = colindex + 1
otable.cell(1, colindex).range.insertafter(col.columnname)
next

'得到的表所有行,賦值給單元格
for each row in table.rows
rowindex = rowindex + 1
colindex = 0
for each col in table.columns
colindex = colindex + 1
otable.cell(rowindex, colindex).range.insertafter(row(col.columnname))
next
next

otable.borders.insidelinestyle = 1
otable.borders.outsidelinestyle = 1

wordapp.visible = true

總結(jié):microsoft word 10.0(版本號)對象庫提供了word的大部分操作。類似的也有microsoft excel 對象庫,我們可以用代碼與word和excel進行會話并控制它們。還有很重要的一點,就是我們必須學(xué)會使用office軟件的“宏”。“宏”是一系列的word(或其它office軟件)命令和指令的組合,都是生成vb代碼。我們可用“工具/宏/錄制新宏”來錄制“宏”,錄制完成后查看“宏”的代碼就可以知道實現(xiàn)此功能的一系列的vb代碼,我們把這些代碼拷貝到vb.net編輯器中,稍微改動后就可以使用。要想做好office開發(fā),必須用好vba和“宏”。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 师宗县| 富裕县| 京山县| 钦州市| 金塔县| 佛坪县| 奎屯市| 临武县| 新宾| 清涧县| 楚雄市| 奇台县| 江口县| 巴中市| 大邑县| 赤水市| 江川县| 苏尼特右旗| 达日县| 盐源县| 玛曲县| 社旗县| 屏边| 镇赉县| 汉沽区| 定安县| 永吉县| 花垣县| 泽库县| 剑河县| 高陵县| 江川县| 万载县| 长乐市| 哈尔滨市| 双辽市| 元谋县| 葵青区| 含山县| 宁强县| 富顺县|