我正在从 xlx/xlxs 文件中检索数据。我实际上是在使用 ExcelDataReader 库将数据保存到使用 ExcelDataReader 插件的 DataSet 中。
excelReader = ExcelReaderFactory.CreateBinaryReader(stream);
excelDataTable = excelReader.AsDataSet(conf);
现在我正在尝试将 System.Data.DataSet 转换为强类型数据集。
public DocAdmin.GHDefinitionDataTable ConvertDataTable(DataTable dtOriginal)
{
DocAdmin.GHDefinitionDataTable ghDefiniton = new DocAdmin.GHDefinitionDataTable();
int ExcelRowNumber = 1;
foreach (DataRow row in dtOriginal.Rows)
{
++ExcelRowNumber;
try
{
ghDefinition.ImportRow(row);
}
catch (ArgumentException ex)
{
OperationMessage message = new OperationMessage();
this.ShowMessage(message );
}
}
return ghDefinition;
}
我收到此异常消息:
输入字符串的格式不正确。无法存储在 SAHasta 列中。预期类型为十进制。
这是因为我故意在单元格上设置“NULL”值。
我想显示一条指定行号(Excel 文件上的单元格编号)的消息,我正在使用 ++ExcelRowNumber 来显示这一点,但我不知道如何从强类型中获取列名和数据类型数据集给了我例外。我知道例外为自己指定:无法存储在 SAHasta 列中,但我必须用西班牙语编写自定义消息。
我想知道是否有办法从异常中获取列名和数据类型。我想向用户指定给出问题的值,以便他可以修改 excel 文件并再次上传。
在此先感谢并为我的英语感到抱歉。