[缓慢前行]C# OLEDB方式访问Excel之bug

来源:互联网 发布:知乎同济大学环境工程 编辑:程序博客网 时间:2024/06/07 07:22

内容比较简单,方面自己以后查看

C# 访问Excel方式有多种,常见有com方式、oledb方式、csv文本方式、第三方方式(NPOI、DevExpress控件)等,其中oledb方式运行效率高,sql语句操作方便快捷,目前有个项目,就选择了该种方式,但在实际使用中,发现有些坑。

1、不可删除

描述:
oledb方式访问Excel不能删除行
解决方法:
a、通过com方式删除 
b、使用update更新语句 将每个字段置为NULL(目前采用)


2、读取不完全

描述:
读取时发现有些字段不能显示
解决方法:

网上搜索,这些文章不错

链接1链接2链接3

总结如下
a、IMEX=1与注册表值TypeGuessRows=0

b、HDR设为NO,但首行仍使用字符串类型的字段名

(建议驱动不要用Microsoft.Jet.OLEDB.4.0,用Microsoft.ACE.OLEDB.12.0,不然有坑)

0 0