博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
采用ADO.NET存取Excel数据(Use ADO.NET to Retrieve and Modify Records in an Excel Workbook)
阅读量:4561 次
发布时间:2019-06-08

本文共 1095 字,大约阅读时间需要 3 分钟。

我们知道,操作Excel最直接最强有力的方法,是引用Excel的DLL,然后使用包装好的Excel对象体系来执行查找、更新Excel数据,或者一些其他动作。然而如果只是简单地处理一些集合数据,有一种途径可以避免去面对繁杂的Excel对象、各种奇形怪状的变量和函数参数,那就是ADO.NET。以下是微软的一篇知识库文章,详细地说明了如何通过OLE DB连接对Excel数据进行增删改查,其几乎支持所有版本的Excel(我只用到过Excel 2003和Excel 2007)。贴原文的事情就不干了,里面有详细的例子:

需要注意的是,如果你在创建、更新或者删除的时候遇到了这样的异常“Operation must use an updateable query”,可能是如下原因导致的:
1,执行程序不具有对目标Excel进行修改的权限,这种情况的解决方法网上很容易搜索到。
2,连接字符串中设置了“IMEX=1”,很少有人提及此点。且看微软官方的描述:“To work around this problem for read-only data, enable Import Mode by using the setting "IMEX=1" in the Extended Properties section of the connection string. This enforces the ImportMixedTypes=Text registry setting. However, note that updates may give unexpected results in this mode. For additional information about this setting, click the article number below to view the article in the Microsoft Knowledge Base:

 
(http://support.microsoft.com/kb/194124/EN-US/ ) PRB: Excel Values Returned as NULL Using DAO OpenRecordset ” IMEX设置为1时Excel是被作为只读数据源来看待的!因此对Excel进行创建、更新或者删除的时候一定要记住,去掉IMEX=1选项!请看原文:

转载于:https://www.cnblogs.com/makemelaugh/archive/2009/07/22/1528334.html

你可能感兴趣的文章
java分布式锁的处理
查看>>
350. Intersection of Two Arrays II java solutions
查看>>
[bzoj1485] [HNOI2009]有趣的数列
查看>>
【#】Spring3 MVC 注解(一)---注解基本配置及@controller和 @RequestMapping 常用解释...
查看>>
本地文本数据查询
查看>>
多语言的2种实现方式对比
查看>>
BZOJ4810 Ynoi2017由乃的玉米田(莫队+bitset)
查看>>
Java学习(十)
查看>>
[转]这才是真正的3D显示!Leap Motion推出次毫米级3D手动控制技术,让人手和影像融为一体...
查看>>
10月27日体会目标
查看>>
c# 前台js 调用后台代码
查看>>
2017-02-20 可编辑div中如何在光标位置添加内容
查看>>
$.ajax()方法详解
查看>>
day42
查看>>
jquery操作select(增加,删除,清空)
查看>>
Sublimetext3安装Emmet插件步骤
查看>>
win7开防火墙,允许别人远程
查看>>
测试的艺术: 软件测试的心理学和经济学
查看>>
PHP foreach()跳出本次或当前循环与终止循环方法
查看>>
设置控件获取焦点
查看>>