【发布时间】:2021-02-22 21:47:04
【问题描述】:
我正在使用 ExcelDataReader 读取 Excel 文件
Dim entireExcel As DataTableCollection
Using ofd As OpenFileDialog = New OpenFileDialog() With {.Filter = "Excel Workbook|*.xlsx|Excel 97-2003 Workbook|*.xls"}
If ofd.ShowDialog() = DialogResult.OK Then
txtFileName.Text = ofd.FileName
Using stream = File.OpenRead(ofd.FileName)
System.Text.Encoding.RegisterProvider(System.Text.CodePagesEncodingProvider.Instance)
Dim reader As IExcelDataReader = ExcelReaderFactory.CreateReader(stream)
entireExcel = reader.AsDataSet(New ExcelDataSetConfiguration() With {
.ConfigureDataTable = Function(__) New ExcelDataTableConfiguration() With {
.UseHeaderRow = True}}).Tables
End Using
End If
End Using
一切正常,除了一个例外:工作表中的列名不是 Excel 中的真实列名。如果该列是左侧列的副本,则会在名称中添加 _1、_2 等。如果缺少列名,则创建名称 Column0、Column1、Column2 等。
如何获取真实姓名,或者如何防止更改?
【问题讨论】:
标签: excel vb.net exceldatareader