【发布时间】:2011-09-11 13:03:18
【问题描述】:
我正在使用 OleDbDataAdapter(准确地说是 Microsoft.ACE.OLEDB.12.0)从 Excel 工作簿中检索数据。对于一个表,我使用的是类型化数据集,但对于另一个表,我不能这样做,因为列数是未知的(Excel 模板可能会生成额外的列)。
问题在于,如果有人在一列中输入了太多数值,“JET”似乎会假定它是一个数字列,并且不再加载文本值。我知道您可以更改模板并为该列设置特定的数据类型,但模板已经广泛传播,所以我宁愿在导入时解决它。
现在我尝试首先计算已使用列的数量,并准备一个具有已定义 Columns 集合的新 DataTable,并将其 DataType 属性设置为 typeof(string)。可悲的是,JET 似乎并没有看到这一点,仍然选择了自己的方式。我猜即使我可以在这里使用强类型数据集,它也无济于事......
有人知道如何告诉 JET 如何导入数据,这样我就不必面对交付新模板版本的负担了吗?
请*请*:不要附带 Excel 自动化解决方案...
【问题讨论】:
标签: c# excel dataset oledb jet