DataGrid另存为Excel

我将查询出来的记录集倒为电子表格。
  我用的是 DataAdapter 的 DataSet, 利用DataView帮定到DataGrid控件。、
  利用网上现有代码,
   Dim xlApp As New Excel.Application
        Dim xlBook As Excel.Workbook
        Dim xlSheet As Excel.Worksheet
        Dim rowIndex As Integer = 1
        Dim colIndex As Integer = 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
  Private Function CreaTable() As DataTable
        Dim dt As New DataTable
        dt = DataGrid1.DataSource()
        Return dt
    End Function
但到后来提示, dt = DataGrid1.DataSource()类型无法转换???(数据源用DataView帮定的)
是怎么回事情???                            dt 为DataTable,
大概是将数据源的记录集,转到DataTable表个,倒为电子表格,但是总是提示类型不能转换???
急!!!!!!!!!!!!


Dim a As DataTable = CType(Me.DataGrid1.DataSource, DataView).Table
posted on 2005-08-04 14:10  wanna  阅读(285)  评论(0编辑  收藏  举报