oledbdataadapter 读取excel数据时,有的单元格内容不能读出
2016-10-26 09:36
337 查看
表现:excel中某列中,有的单元格左上角有绿色箭头标志,有的没有,c#编写读取程序,但是只能读取出带绿色箭头的单元格中的内容,其余不带的读取不到内容
原因:excel中单元格因为是文本格式而存储了数值,导致后台错误检查,在左上角显示绿色箭头
解决:string strConn;
原来读取不完全的写法:strConn = "Provider = Microsoft.Ace.OLEDB.12.0;Data Source = " + strExcelFilePath + ";Password = \"\";User ID = Admin;Extended Properties='Excel 12.0;HDR=YES;'";
完全读出的写法:strConn = "Provider = Microsoft.Ace.OLEDB.12.0;Data Source = " + strExcelFilePath + ";Password = \"\";User ID = Admin;Extended Properties='Excel 12.0;HDR=YES;IMEX=1;'";
具体参数描述如下:
用OLEDB进行C#读取Excel数据,并返回DataSet数据集。
其中有几点需要注意的:
1.连接字符串中参数IMEX 的值:
0 is Export mode
1 is Import mode
2 is Linked mode (fullupdate capabilities)
IMEX有3个值:当IMEX=2 时,EXCEL文档中同时含有字符型和数字型时,比如第C列有3个值,2个为数值型 123,1个为字符型 ABC,当导入时,页面不报错了,但库里只显示数值型的123,而字符型的ABC则呈现为空值。当IMEX=1时,无上述情况发生,库里可正确呈现 123 和 ABC.
2.参数HDR的值:
HDR=Yes,这代表第一行是标题,不做为数据使用 ,如果用HDR=NO,则表示第一行不是标题,做为数据来使用。系统默认的是YES
原因:excel中单元格因为是文本格式而存储了数值,导致后台错误检查,在左上角显示绿色箭头
解决:string strConn;
原来读取不完全的写法:strConn = "Provider = Microsoft.Ace.OLEDB.12.0;Data Source = " + strExcelFilePath + ";Password = \"\";User ID = Admin;Extended Properties='Excel 12.0;HDR=YES;'";
完全读出的写法:strConn = "Provider = Microsoft.Ace.OLEDB.12.0;Data Source = " + strExcelFilePath + ";Password = \"\";User ID = Admin;Extended Properties='Excel 12.0;HDR=YES;IMEX=1;'";
具体参数描述如下:
用OLEDB进行C#读取Excel数据,并返回DataSet数据集。
其中有几点需要注意的:
1.连接字符串中参数IMEX 的值:
0 is Export mode
1 is Import mode
2 is Linked mode (fullupdate capabilities)
IMEX有3个值:当IMEX=2 时,EXCEL文档中同时含有字符型和数字型时,比如第C列有3个值,2个为数值型 123,1个为字符型 ABC,当导入时,页面不报错了,但库里只显示数值型的123,而字符型的ABC则呈现为空值。当IMEX=1时,无上述情况发生,库里可正确呈现 123 和 ABC.
2.参数HDR的值:
HDR=Yes,这代表第一行是标题,不做为数据使用 ,如果用HDR=NO,则表示第一行不是标题,做为数据来使用。系统默认的是YES
相关文章推荐
- 读取excel数据时,有的单元格内容不能读出
- 使用OleDb写入Excel异常,"字段太小而不能接受所要添加的数据的数量" "the field is too small to accept the amount of data "
- 【c#操作office】--OleDbDataAdapter 与OleDbDataReader方式读取excel,并转换为datatable
- ___73__OleDbDataAdapter读取Access数据__到DataSet中来
- 用OLEDB读取EXCEL时,单元格内容长度超过255被截断
- 【c#操作office】--OleDbDataAdapter 与OleDbDataReader方式读取excel,并转换为datatable
- OleDbDataAdapter与OleDbDataReader方式读取EXCEL并转换为DataTable
- OleDbDataAdapter 更新dataGridView数据
- 【软件自动化测试-QTP实战技能 9】== 从外部excel中读出数据导入到qtp的data中
- 读取Excel的内容,实现数据批量上传(转)
- OLEDB方式读取Excel丢失数据的原因和解决方法(转)
- Java中读取Excel文件的内容和导出数据到Excel文件
- OleDB读取Excel时出现空数据的解决方法
- c#中采用OLEDB方式来读取EXCEL文件和将数据写入EXCEL文件
- ABAP--一个读取EXCEL单元格的内容超过256个字符的代码样例
- c#中采用OLEDB方式来读取EXCEL文件和将数据写入EXCEL文件
- jQuery在异步请求数据返回后,调用$("selector").html(data.content);之后因为一些特殊字符或者',"不能显示内容的问题解决办法
- OLEDB读取excel的数据类型不匹配的解决方案
- ABAP--一个读取EXCEL单元格的内容超过256个字符的代码样例(from Jack)
- asp.net读取excel内容并将数据捞进DATASET中