Export to excel

  Private Function ExportToExcel(ByVal MyTab As DataTable, ByVal strRptName As String, ByVal    strReportTemplate As String, ByVal strReportHeader As String) As Boolean

        Dim XLApplication As New Excel.Application
        Dim XLBook As Excel.Workbook
        Dim XLSheet As Excel.Worksheet

        Dim IRow, ICol As Int32
        Dim i, j As Int32


        Try

            '  Operation File
            If Dir(strReportTemplate) = "" Then
                MsgBox("Can not find out REPORT TEMPLATE!!", MsgBoxStyle.Exclamation, "Oracle Report")
                Exit Function
            Else
                FileCopy(strReportTemplate, strRptName)
            End If

            IRow = MyTab.Rows.Count
            ICol = MyTab.Columns.Count

            Dim DataArray(IRow, ICol) As Object
            Dim StrValue As String

            XLBook = XLApplication.Workbooks.Open(strRptName)  ''open a .xls file
            XLSheet = XLBook.Worksheets(1)

            For i = 0 To MyTab.Rows.Count - 1

                For j = 0 To MyTab.Columns.Count - 1

                    StrValue = IIf(IsDBNull(MyTab.Rows(i).Item(j)), "", MyTab.Rows(i).Item(j))
                    DataArray(i, j) = StrValue

                Next

            Next

            'Fill the Caption
            For i = 0 To MyTab.Columns.Count - 1
                XLSheet.Cells(3, i + 1) = MyTab.Columns(i).Caption
            Next

            XLSheet.Range("A2").Value = strReportHeader

            XLSheet.Range("A4").Resize(IRow, ICol).Value = DataArray 'Fill the value

            XLBook.Save()
            XLSheet = Nothing
            XLBook = Nothing
            XLApplication.Quit()
            XLApplication = Nothing
            GC.Collect()


        Catch ex As Exception
            MessageBox.Show(" Data Extraction Error! Pls contact MIS!!!", "Oracle Report")
            ExportToExcel = False
            Exit Function

        End Try

        ExportToExcel = True

    End Function

转载于:https://www.cnblogs.com/flyerca/archive/2011/04/20/2021759.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值