C# EXCEL导入 混合列文字为空,找不到可安装的 ISAM的解决办法
C# EXCEL导入 混合列文字为空,找不到可安装的 ISAM的解决办法
使用C#导入 Excel数据到 DataTable,如果连接串中只写 Excel 8.0,则正常的字符列,数值列都没有问题,但对于既有数字也有字符的混合列,则读出为空。
后来从网上查到加入IMEX=1 就可将混合型转换为文本,就是连接串为Excel 8.0;IMEX=1,但这有出现 “找不到可安装的 ISAM”。
后来在其两边加上单引号' 就可解决。也就是 'Excel 8.0;IMEX=1'
EXCEL 默认若前8行都没有出现文本,那么就认为这一列的所有值都是数字,可以在注册表下面语句处修改为默认值,比如500,但尽量将字符行向前。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Excel
最后完整的函数如下:
public static System.Data.DataTable CallExcel(string FilePath, string sheetName)
{
OleDbConnection con = new OleDbConnection('Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' + FilePath + ';Extended Properties='Excel 8.0;HDR=YES;IMEX=1'');
con.Open();
string sql = 'select * from [' + sheetName + '$]';//[Sheet1$]';////选择第一个数据SHEET
//OleDbCommand command = new OleDbCommand(sql, con);
//OleDbDataReader reader = command.ExecuteReader();
//if (reader.Read())
//{
// reader[0].ToString();//直接读出数据
//}
OleDbDataAdapter adapter = new OleDbDataAdapter(sql, con);
System.Data.DataTable dt = new System.Data.DataTable();
adapter.Fill(dt);
//reader.Close();
//command.Dispose();
con.Close();
con.Dispose();
return dt;
}
C# EXCEL导入 混合列文字为空,找不到可安装的 ISAM的解决办法的更多相关文章
- 解决c#处理excel时故障 找不到可安装的 isam
直接拷贝的以前代码,但因软件版本,系统环境的变化,导致提示“找不到可安装的 isam”. 我目前新的软件环境:win8.1+office2010+vs2013 解决办法是修改连接字符串: 处理exce ...
- 读取excel数据 到 datagrid 出现 找不到可安装的ISAM
读取excel数据 到 datagrid 出现:找不到可安装的ISAM 错误: 实在没有办法了 就仔细的查看了 一下数据链接字符串: string strConn = "Prov ...
- dedecms添加文章时提示标题为空,编辑文章时编辑器空白的解决办法
dedecms添加文章时提示标题为空,编辑文章时编辑器空白的解决办法 dedecms出现这个问题与代码无关,主要是和PHP的版本有关,用的PHP5.4,更换成PHP5.2之后就不会有这个问题了. 问题 ...
- C# 之 Excel 导入一列中既有汉字又有数字:数字可以正常导入,汉字导入为空
今天在做一个Excel导入功能,一切开发就绪,数据可以成功导入.导入后检查数据库发现有一列既有汉字又有数字,数字正常导入,汉字为空.但是前面同样既有汉字又有数字的列可以导入成功. 查看excel 源文 ...
- sqlserver 2008 创建数据库的时候不是空库,里面总有数据的解决办法
SqlServer2008 里面有个系统数据库 Model 数据库,在创建新数据库的时候,会以它为模板创建,所以如果发现你的Model数据库比较大,说明里面有很多模板数据.此时如果需要去创建没有数据的 ...
- C#读取excel 找不到可安装的ISAM
实在没有办法了 就仔细的查看了 一下数据链接字符串: string strConn = "Provider=Microsoft.Jet.Oledb.4.0;Data Source=" ...
- java web项目导入到eclipse中变成了java项目的一种情况的解决办法
前提,我把代码上传到github上之后,在另外一台电脑上拉下之后,先报出现的是jre不对,然后换成了当前的jre,然后红色的感叹号消失了但是之前项目上那个小地球不见了,也就是说变成了java项目. - ...
- VMware导入OVF时报错(未能部署OVF包用户取消了任务的解决办法)
阅读目录: 1.问题 2.原因 3.解决方案 问题:部署OVF模版的时候报错“用户取消了任务” 原因:导出ovf模板时,虚拟CD-ROM的选项要选[客户端设备],否则导入时报错“用户取消了任务” 解决 ...
- IDEA中如何导入jar包、IDEA中找不到对应类改怎样解决?(详细图解过程)
今天突然心血来潮.用IDEA运行之前用eclipse编写的项目.发现遇到了一些bug,现在习惯了使用maven管理项目的依赖.一时间忘记了怎样将jar包导入项目中.特此记录一下 文章目录 1.未加入j ...
随机推荐
- 设计模式--代理模式Proxy(结构型)
一.代理模式 为其他对象提供一种代理以控制对这个对象的访问. 代理模式分为四种: 远程代理:为了一个对象在不同的地址空间提供局部代表.这样可以隐藏一个对象存在于不同地址空间的事实. 虚拟代理:根据需要 ...
- Python之路,Day7 - Python基础7 面向对象
本节内容: 面向对象编程介绍 为什么要用面向对象进行开发? 面向对象的特性:封装.继承.多态 类.方法. 引子 你现在是一家游戏公司的开发人员,现在需要你开发一款叫做<人狗大战> ...
- 编译安装 varnish-4.1.2和yum 安装 varnish-4.0.3
vanish可以让用户自己选择缓存数据是存于内存还是硬盘,存于内存一般基于二八法则即常访问的数据是磁盘存储的总数据五分之一,因此内存也应该是硬盘文件大概五分之一.如果有多台vanish则,总内存满足即 ...
- 名词含义阅读 todolist
1.node webkit 2.C#设计模式 3.算法导论 4.SQLSERVER RowNum() 5.图片文字识别 6.tuple 7.yield 8.Web语义化 (多用 p ul ol li ...
- oracle表分区以及普表转分区表(转)
概述 Oracle的表分区功能通过改善可管理性.性能和可用性,从而为各式应用程序带来了极大的好处.通常,分区可以使某些查询以及维护操作的性能大大提高.此外,分区还可以极大简化常见的管理任务,分区是构建 ...
- Microsoft VS 2008 过期解决方法破解方法
Microsoft VS 2008 过期解决方法电脑上的Microsoft Visual Studio 2008 Team System 试用版提示离过期还有**天.于是百度,搜索结果大多是以下两种解 ...
- tmpfs详解
一,tmpfs介绍 1. tmpfs是一种虚拟内存文件系统,正如这个定义它最大的特点就是它的存储空间在VM里面(什么是VM?后面介绍) 2. VM是由linux内核里面的vm子系统管理的东西,现在大多 ...
- 一.Timesten安装
一,安装timesten IMDB并测试 1. 创建数据库相关用户和组 groupadd timesten useradd -g timesten -G dba timesten passwd tim ...
- 【DWR系列06】- DWR日志及js压缩
img { border: solid 1px } 一.日志 DWR依赖 Apache Commons Logging,可以使用log4j实现日志记录功能. 1.1 日志简介 和其他日志框架一样,当设 ...
- [UWP]UWP中获取联系人/邮件发送/SMS消息发送操作
这篇博客将介绍如何在UWP程序中获取联系人/邮件发送/SMS发送的基础操作. 1. 获取联系人 UWP中联系人获取需要引入Windows.ApplicationModel.Contacts名称空间. ...