【发布时间】:2018-01-07 02:32:15
【问题描述】:
我正在使用以下代码将数据从 CSV 文件导入数据表: 当我运行我的应用程序时,我收到以下错误:输入字符串的格式不正确。无法将 存储在 PLANTJAAR 列中。预期类型是 Int32。 这发生在倒数第二行:datatabel.Rows.Add(parser.ReadFields())
Dim datatabel As New DataTable()
datatabel.Columns.Add(New DataColumn("LIDNOMMER", GetType(String)))
datatabel.Columns.Add(New DataColumn("LIDNAAM", GetType(String)))
datatabel.Columns.Add(New DataColumn("PLAASNOMMER", GetType(String)))
datatabel.Columns.Add(New DataColumn("PLAASNAAM", GetType(String)))
datatabel.Columns.Add(New DataColumn("BLOKNO", GetType(String)))
datatabel.Columns.Add(New DataColumn("AREA", GetType(String)))
datatabel.Columns.Add(New DataColumn("KLAS", GetType(String)))
datatabel.Columns.Add(New DataColumn("GROND", GetType(String)))
datatabel.Columns.Add(New DataColumn("BESPROEI", GetType(String)))
datatabel.Columns.Add(New DataColumn("PLANTJAAR", GetType(Int32)))
datatabel.Columns.Add(New DataColumn("STADIUM", GetType(String)))
datatabel.Columns.Add(New DataColumn("ONDERSTOK", GetType(String)))
datatabel.Columns.Add(New DataColumn("KULTIVAR", GetType(String)))
datatabel.Columns.Add(New DataColumn("OPP", GetType(Decimal)))
datatabel.Columns.Add(New DataColumn("ALIAS", GetType(String)))
datatabel.Columns.Add(New DataColumn("ALIASNAAM", GetType(String)))
datatabel.Columns.Add(New DataColumn("KONTAK1", GetType(String)))
datatabel.Columns.Add(New DataColumn("KONTAK2", GetType(String)))
datatabel.Columns.Add(New DataColumn("KLAAR_EZY", GetType(String)))
datatabel.Columns.Add(New DataColumn("MASJIEN", GetType(String)))
datatabel.Columns.Add(New DataColumn("PROD_GROEP", GetType(String)))
datatabel.Columns.Add(New DataColumn("E_POS_DOC", GetType(String)))
datatabel.Columns.Add(New DataColumn("E_POS_HAR", GetType(String)))
datatabel.Columns.Add(New DataColumn("E_POS_REM", GetType(String)))
datatabel.Columns.Add(New DataColumn("DOELWIT", GetType(String)))
datatabel.Columns.Add(New DataColumn("OESMETODE", GetType(String)))
datatabel.Columns.Add(New DataColumn("SNOEIMETODE", GetType(String)))
datatabel.Columns.Add(New DataColumn("TON_MIN5", GetType(Decimal)))
datatabel.Columns.Add(New DataColumn("TON_MIN4", GetType(Decimal)))
datatabel.Columns.Add(New DataColumn("TON_MIN3", GetType(Decimal)))
datatabel.Columns.Add(New DataColumn("TON_MIN2", GetType(Decimal)))
datatabel.Columns.Add(New DataColumn("TON_MIN1", GetType(Decimal)))
datatabel.Columns.Add(New DataColumn("TON_HUIDIG", GetType(Decimal)))
datatabel.Columns.Add(New DataColumn("TONHA_MIN5", GetType(Decimal)))
datatabel.Columns.Add(New DataColumn("TONHA_MIN4", GetType(Decimal)))
datatabel.Columns.Add(New DataColumn("TONHA_MIN3", GetType(Decimal)))
datatabel.Columns.Add(New DataColumn("TONHA_MIN2", GetType(Decimal)))
datatabel.Columns.Add(New DataColumn("TONHA_MIN1", GetType(Decimal)))
datatabel.Columns.Add(New DataColumn("TONHA_HUIDIG", GetType(Decimal)))
datatabel.Columns.Add(New DataColumn("TON_SKAT_HAND", GetType(Decimal)))
datatabel.Columns.Add(New DataColumn("TON_SKAT_MASJIEN", GetType(Decimal)))
datatabel.Columns.Add(New DataColumn("TON_SKAT_TOTAAL", GetType(Decimal)))
Dim parser As New FileIO.TextFieldParser("C:\Users\Administrator\Desktop\SKEDULERING\EZY Wine Data\skedp_01.csv")
parser.Delimiters = New String() {","}
parser.HasFieldsEnclosedInQuotes = True
parser.TrimWhiteSpace = True
parser.ReadLine()
Do Until parser.EndOfData = True
datatabel.Rows.Add(parser.ReadFields())
Loop
CSV 文件中的 Plantjaar 列中没有空行。
任何帮助将不胜感激。
编辑:我的 CSV 文件:
【问题讨论】:
-
向我们展示导致此错误的 CSV 文件的内容。我猜它在一行中确实有一个空字符串。
-
寻找这个 因为它不是整数