gpt4 book ai didi

c# - 如何使用 vb.net 或 c# 从 excel 2007 (*.xlsx) 中获取工作表名称

转载 作者:行者123 更新时间:2023-11-30 13:39:08 25 4
gpt4 key购买 nike

我尝试使用 vb.net 从文件 excel 中获取工作表名称并将它们显示到文本框中。我尝试使用这段代码:

Imports Microsoft.Office.Interop
Private Sub GetSheetsName
Dim efa As New Excel.Application
Dim ewb As Excel.Workbook
Dim ews As Excel.Worksheet
Dim fileName as string
fileName="D:\test.xls"
ewb = efa.Workbooks.Open(fileName)
For Each ews In ewb.Worksheets
ExcelSheetName += ews.Name & vbNewLine
Next ews
TextBox1.text=ExcelSheetName
end sub

该代码适用于文件 excel *.xls,在文本框中显示文件 test.xls 中的工作表名称

Sheet1
Sheet2
Sheet3

但是当我尝试使用 excel 2007 (*.xlsx) 时,会显示这样的错误消息。 error message

我该怎么办?你能帮帮我吗?

最佳答案

试试这段代码:

Private Sub GetExcelSheetNames(ByVal fileName As String)
Dim strconn As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" &
fileName & ";Extended Properties=""Excel 12.0 Xml;HDR=YES"";"
Dim conn As New OleDbConnection(strconn)

conn.Open()

Dim dtSheets As DataTable =
conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, Nothing)
Dim listSheet As New List(Of String)
Dim drSheet As DataRow

For Each drSheet In dtSheets.Rows
listSheet.Add(drSheet("TABLE_NAME").ToString())
Next

//show sheetname in textbox where multiline is true
For Each sheet As String In listSheet
TextBox1.Text = TextBox1.Text & sheet & vbNewLine
Next

conn.Close()

End Sub

关于c# - 如何使用 vb.net 或 c# 从 excel 2007 (*.xlsx) 中获取工作表名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13618224/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com