C#用OLEDB连接Excel的语句中IMEX属性有什么作用???

IMEX ( IMport EXport mode ):
为0时,Excel 档案只能用来做“写入”用途;
为1时,Excel 档案只能用来做“读取”用途;
为2时, Excel 档案可同时支援“读取”与“写入”用途
上面的说明是我百度回来的
但是实际使用时
strSql = String.Format("Provider=Microsoft.Ace.OleDb.12.0;Data Source={0};Extended Properties='Excel 12.0;HDR=Yes;IMEX=2'", strExcelPath);
我进行更新操作时,报下图的错误。但去掉这个属性后,更新可以成功。
我现在对这个属性纳闷了。请各位大侠解惑。

“IMEX=1;”指示驱动程序始终将“intermixed”数据列作为文本进行读取。
参考资料
http://msdn.microsoft.com/zh-cn/library/ms254500(v=vs.110).aspx追问

那IMEX=0和2时呢?MSDN连接字符串那只说明了IMEX=1

追答

通常只用0和1,2的情况自己去看看,
http://www.instantpages.ltd.uk/ADODB_WP.htm

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-01-20
你查来的资料是错误的。

IMEX 只有 0 和 1两种情况。

通常作为数据源使用的时候,取值为 1,表示 将“intermixed”数据列作为文本进行读取。

注:EXCEL 作为数据源,是不支持DELETE 操作的。
相似回答