程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> .NET實例教程 >> 導出數據到excel中

導出數據到excel中

編輯:.NET實例教程

Public Class BqExcelClass BqExcel
    Dim lConnString As String = ""
    Dim lBookName As String = ""
    Dim lSchemaTable As DataTable
    Dim lMessErr As String ''得到當前錯誤信息
    Dim lMessSuc As String ''得到當前正確的信息

    Public Sub New()Sub New(ByVal sbookName As String)
        MyBase.new()
        Dim s As String
        If System.IO.File.Exists(sbookName) = True Then
            lBookName = sbookName
        Else   ''如果該文件不存在,則在C:新建一個
            lBookName = sbookName  '' "C:cdbqss的工作簿.xls"
        End If
        s = "Provider=Microsoft.Jet.OleDb.4.0; data Source=" + Chr(34) & lBookName + Chr(34)
        s += "; Extended ProPertIEs=""Excel 8.0;HDR=Yes;"""
        lConnString = s
        lSchemaTable = BqPSchemaTable  ''內部要用的,所以先要讀出來
    End Sub

    Public ReadOnly Property BqPSchemaTable()Property BqPSchemaTable() As DataTable
        Get
            Dim lCn As New System.Data.OleDb.OleDbConnection
            Dim m0 As DataTable = Nothing
            Try
                lCn.ConnectionString = lConnString
                lCn.Open()
                ''得到該工作簿中的結構,即工作表的名稱
                m0 = lCn.GetOleDbSchemaTable(OleDb.OleDbSchemaGuid.Tables, New Object() {Nothing, Nothing, Nothing, Nothing})
            Catch ErrCode As Exception
            Finally
                lCn.Close()
                lCn.Dispose()
            End Try
            Return m0
        End Get
    End Property

    Public ReadOnly Property BqPEessErr()Property BqPEessErr() As String
        Get
            Return lMessErr
        End Get
    End Property   ''錯誤的提示
    Public ReadOnly Property BqPEessSuc()Property BqPEessSuc() As String
   Get
            Return lMessSuc
        End Get
    End Property   ''正確的提示


    Function GetSheetExists()Function GetSheetExists(ByVal sSheetName As String) As Boolean
        ''判斷該表名,是否在工作簿中存在
        Dim lSheet As String = sSheetName
        Dim m0 As Boolean = False
        Try
            If IsNothing(lSchemaTable) = False AndAlso lSchemaTable.Rows.Count > 0 Then
                For Each r As DataRow In lSchemaTable.Rows
                    If Trim(UCase(lSheet)) = Trim(UCase(r("TABLE_NAME"))) Then
                        m0 = True
                        Exit For
                    End If
                Next
            End If
        Catch ex As Exception
        End Try
        Return m0
    End Function  ''判斷該表名,是否在工作簿中存在
    Function GetSheetNameOnly()Function GetSheetNameOnly() As&nb
sp;String
        ''是到工作簿中唯一的、不同的數據表名
        Dim m0 As String = ""
        Try
            Dim i As Integer = 1
            Dim m1 As String = "sheet" & Trim(i.ToString)
            If IsNothing(lSchemaTable) = False AndAlso lSchemaTable.Rows.Count > 0 Then
                Do While True
                    If GetSheetExists(m1) = True Then  ''如果該表已經存在,則更新取一個
                        i = i + 1
                        m1 = "sheet" & Trim(i.ToString)
                    Else
                        m0 = m1
                        Exit Do
                    End If
                Loop
            End If
        Catch ex As Exception
        End Try
        Return m0
    End Function ''是到工作簿中唯一的、不同的數據表名
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved