导入EXCEL表时,提示"找不到可安装的ISAM"怎么办?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了导入EXCEL表时,提示"找不到可安装的ISAM"怎么办?相关的知识,希望对你有一定的参考价值。

安装过了Microsoft Office 2003 和2007,都很好用。就是有时,一些软件需要导入EXCEL的文件时,会提示出现:尝试连接Microsoft Office Excel数据失败!【详细情况】找不到可安装的ISAM出现以上的情况,应该怎么解决呢?谢谢!

Microsoft.Jet.OLEDB.4.0好像不支持Excel,你可以用DAO来访问
首先需要引用Microsoft DAO 3.6 Object Library
Dim DB As DAO.Database
Dim RS As DAO.Recordset
Set DB = OpenDatabase("d:\数据.xls", False, False, "Excel 8.0;")
Set RS = DB.OpenRecordset("文件$")
Set DataGrid1.DataSource = RS
找不到可插入的ISAM的好像就是不支持这种数据格式,
--抱歉,刚看了一下,Datagrid只支持ado的datasource,你如果非要用控件绑定的话,你可以Miscrosoft FlexGrid,它可以绑定dao的datasource

如果你只是为了显示,我建议你可以不用绑定的方式,在Form上放一个ListView控件,然后在ListView属性中把查看方式改成lvReport,增加列首(标题)和Excel的列一一对应。代码如下

Dim DB As DAO.Database
Dim RS As DAO.Recordset
Set DB = OpenDatabase("d:\数据.xls", False, False, "Excel 8.0;")
Set RS = DB.OpenRecordset("文件$")
Dim li As ListItem
ListView1.ListItems.Clear
Do Until RS.EOF
Set li = ListView1.ListItems.Add(, , (RS(0))
For i = 1 To RS.Fields.Count - 1
li.SubItems(i) = RS(i)
Next
RS.MoveNext
Loop
参考技术A

刚刚解决。暂时发现有四个可能性:

    office安装不完整,前面已经有人提供解答

    excel03的数据库未注册,在开始——运行对话框中输入:
    Regsvr32 c:\\WINDOWS\\system32\\msexcl40.dll

    进入控制面板——管理工具——数据源ODBC 查看用户DSN是否正确添加(我不知道是不是和上一步同一回事)

    在卸载-安装过程中,原excel文件里的连接可能改变了。打开excel文件的表,连接选项卡——属性——点右上角小方块,连接属性——定义  对照这些内容是否和以往备份到服务器上的文件一致:
    DSN=Excel Files;DBQ=D:\\基础库.xls;DefaultDir=D:\\;
    DriverId=281;FIL=MS Access;MaxBufferSize=2048;PageTimeout=5;

参考技术B   C#读取Excel代码:
string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + FilePath + ";Extended Properties='Excel 8.0;HDR=NO;IMEX=1';";//不能是11.0
  OleDbConnection conn = new OleDbConnection(strConn);
  conn.Open();
  string strExcel = "select * from [sheet1$]";
  OleDbDataAdapter da = new OleDbDataAdapter(strExcel, strConn);
  DataSet ds = new DataSet();
  try
  
  da.Fill(ds);
  
  catch (Exception ex)
  
  throw new Exception("读取Excel失败:"+ex.Message);
  
  return ds;
  如果提示"找不到可安装的ISAM",通过google,有两个解决办法:
  1、连接字符串问题
  Extended Properties='Excel 8.0;HDR=NO;IMEX=1'
  //HDR表示要把第一行作为数据还是作为列名,作为数据用HDR=no,作为列名用HDR=yes;通过Imex=1来把混合型作为文本型读取,避免 null值。

  上句的左右两个单引号不能少。

  2、只需注册 Excel ISAM即可

  在“运行”对话框中输入回车即可:Regsvr32 c:\WINDOWS\system32\msexcl40.dll
参考技术C 注册Excel ISAM在“运行”对话框中:Regsvr32 c:\WINDOWS\system32\msexcl40.dll 查看原帖>>本回答被提问者采纳

Qt 编译好的 可执行文件 不能运行是怎么回事?

我用Qt Creator 编译程序能够通过并可以正确运行,也能生成可执行文件,但是双击生成的可执行文件却不能运行!请高手帮个忙!

缺少动态链接库,你的qt是动态编译的,根据提示上你qt的安装目录上考到你的exe文件夹里 参考技术A 应该是路径问题, 如果是资源找不到,那么需要将程序用到的文件复制到合适的位置. 如果是依赖的dll找不到,就在环境变量的path中加入所需的dll所在的位置,或者把它们复制到程序的当前位置.追问

我在终端上运行这个可执行文件时,提示"找不到这个文件",但是我用Creator编译运行其他程序时无论是双击可执行文件还是在终端都没问题,唯独这个在设计界面时用到QT Designer的程序的可执行文件运行不了!

以上是关于导入EXCEL表时,提示"找不到可安装的ISAM"怎么办?的主要内容,如果未能解决你的问题,请参考以下文章

C#导入execl 找不到可安装的 ISAM

EXCEL 导入SQL2005 提示 找不到可安装的 ISAM。 (Microsoft JET Database Engine)

Microsoft.Jet.OLEDB.4.0 导入excel报"找不到可安装的ISAM"

找不到可安装的isam

C#从excel表导入到datagridview 找不到可安装的 ISAM

为啥我的C#操作EXCEL总体提示“找不到可安装的isam“,确实系统自带了mdac2.81