gpt4 book ai didi

c# - 通过OLEDB读取Excel将字符串读取为DBNull

转载 作者:行者123 更新时间:2023-12-02 01:03:02 25 4
gpt4 key购买 nike

我正在使用 Csharp 中的 OLEDB 读取 Excel 文件,我已经显示了我所拥有的示例 Excel 数据

F1    F2    F3    F4
India 23 44 4
China 4 8 Month 6
USA 45 Neg 4

当我读取此数据并检查我的数据表时,我得到“第 6 个月”和“负”的空值我可以正确获取 F1 列...我的连接字符串如图所示

提供商=Microsoft.ACE.OLEDB.12.0;数据源=[XLSource];扩展属性=Excel 12.0;

OleDbDataReader dr;
OleDbConnection conExcel = new OleDbConnection();
conExcel.ConnectionString = ConnectionString
conExcel.Open();
OleDbCommand cmdExcel = new OleDbCommand();
cmdExcel.Connection = conExcel;
cmdExcel.CommandText = "SELECT * FROM Sheet1$";
dr = cmdExcel.ExecuteReader();
DataTable dtExcel = new DataTable();
dtExcel.Load(dr);

最佳答案

尝试在连接字符串中使用 IMEX=1 参数(通过 google 获取更多信息)。

我认为发生的情况是 Excel 从前几行推断每列的数据类型。当它遇到与推断的数据类型不匹配的值时,会将其视为 null。

关于c# - 通过OLEDB读取Excel将字符串读取为DBNull,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2955549/

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