热门关键字:  PHP  seo  Cisco  网络广告 虚拟主机 中文域名
当前位置 :| 主页>SVG>SVG教程>

环境下将报表数据导出EXCEL和WORD

来源:醉生梦死 作者: 时间:2007-06-06 点击:
1.先创建一个DataTable,作为数据来源,也可以另将其它的数据源。
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
                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 = "黑体"
                    '设标题为黑体字
                    .Range(.Cells(1, 1), .Cells(1, colIndex)).Font.Bold = True
                    '标题字体加粗
                    .Range(.Cells(1, 1), .Cells(rowIndex, colIndex)).Borders.LineStyle = 1
                    '设表格边框样式
                End With

                With xlSheet.PageSetup
                    .LeftHeader = "" & Chr(10) & "&""楷体_GB2312,常规""&10公司名称:"   ' & Gsmc
                    .CenterHeader = "&""楷体_GB2312,常规""公司人员情况表&""宋体,常规""" & Chr(10) & "&""楷体_GB2312,常规""&10日 期:"
                    .RightHeader = "" & Chr(10) & "&""楷体_GB2312,常规""&10单位:"
                    .LeftFooter = "&""楷体_GB2312,常规""&10制表人:"
                    .CenterFooter = "&""楷体_GB2312,常规""&10制表日期:"
                    .RightFooter = "&""楷体_GB2312,常规""&10第&P页 共&N页"
                End With

                xlApp.Visible = True
                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


最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册
赞助商连接