首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

vb打开excel记录 异常:外部表不是预期的格式

2012-01-24 
vb打开excel记录 错误:外部表不是预期的格式DimmyconAsNewADODB.ConnectionDimmyrsAsNewADODB.Recordsetmy

vb打开excel记录 错误:外部表不是预期的格式
Dim   mycon   As   New   ADODB.Connection
  Dim   myrs   As   New   ADODB.Recordset
mycon.ConnectionString   =   "Provider=Microsoft.Jet.OLEDB.4.0;   Data   Source= ' "   &   filenameA   &   " ';   Extended   Properties= " "Excel   8.0; " " "
                        mycon.CursorLocation   =   adUseClient
                        mycon.Open
                        myrs.Open   "select   *   from   [ "   &   tablenameA   &   "$] ",   mycon,   3,   3
                        Set   DataGrid2.DataSource   =   myrs
                        DataGrid2.Refresh
                        Set   myrs   =   Nothing
                        Set   mycon   =   Nothing

错误:外部表不是预期的格式
*************************************************
下面的代码就可以
可是这样我怎么才能把数据让datagrid显示呢
Set   DataGrid2.DataSource   =   myrs
                        DataGrid2.Refresh
 
************************************

Set   xlApp   =   CreateObject( "Excel.Application ")   '创建EXCEL应用类
                        Set   xlbook   =   xlApp.Workbooks.Open(filenameA)   '打开EXCEL工作簿
                        Set   xlsheet   =   xlbook.Worksheets(1)   '打开EXCEL工作表
                        tablenameA   =   xlsheet.name
                        xlApp.DisplayAlerts   =   False     '关闭EXCEL不提示保存
                        xlApp.Quit   '关闭EXCEL
                        Set   xlbook   =   Nothing
                        Set   xlsheet   =   Nothing
                        Set   xlApp   =   Nothing

[解决办法]
提示这个错误是因为你的excel表格不规范吧

你可以看一下,把个别的数据剔除掉试一下
不过一般的情况下不会出什么问题

如果实在不行,就只能你一个cell一个cell的读,然后拼一个recordset出来了
[解决办法]
如果用ADO打开EXCEL表,要求第一行是用来做字段的,不能重复的
[解决办法]
既然你这么说就是因为你的excel格式不规范了
可能你的excel文件是从别的系统上拿过来直接用的吧
这样可能就会造成类似的问题
如果excel是从你自己的系统上生成的一般就不会有这样的问题

这个应该算那个导出excel文件的系统的的bug吧

热点排行