连接字符串:
Batchdata_Connection.Close;
str:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+batchdatafile+';Mode=Share Deny None;Extended Properties=excel 8.0;Persist Security Info=False;Jet OLEDB:System database="";Jet OLEDB:Registry Path=""';
str:=str+';Jet OLEDB:Database Password="";Jet OLEDB:Engine Type=35;Jet OLEDB:Database Locking Mode=0;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="";';
str:=str+'Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB: Don''t Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False';
Batchdata_Connection.ConnectionString:=str;
Batchdata_Connection.LoginPrompt:=False;
Batchdata_Connection.Open;
sqltxt:='select * FROM [sheet1$] ';
LinkExcel_Qr.SQL.Add(sqltxt);
LinkExcel_Qr.Open;
如果excel记录不多的话就没问题 但记录多了 就会出现有几条记录的单元格变为空了 但excel的对应单元格是有值的 发现这问题时 奇怪得差点吐血~~~~~~~~~~
Batchdata_Connection.Close;
str:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+batchdatafile+';Mode=Share Deny None;Extended Properties=excel 8.0;Persist Security Info=False;Jet OLEDB:System database="";Jet OLEDB:Registry Path=""';
str:=str+';Jet OLEDB:Database Password="";Jet OLEDB:Engine Type=35;Jet OLEDB:Database Locking Mode=0;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="";';
str:=str+'Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB: Don''t Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False';
Batchdata_Connection.ConnectionString:=str;
Batchdata_Connection.LoginPrompt:=False;
Batchdata_Connection.Open;
sqltxt:='select * FROM [sheet1$] ';
LinkExcel_Qr.SQL.Add(sqltxt);
LinkExcel_Qr.Open;
如果excel记录不多的话就没问题 但记录多了 就会出现有几条记录的单元格变为空了 但excel的对应单元格是有值的 发现这问题时 奇怪得差点吐血~~~~~~~~~~
解决方案 »
- 有用过SuperMap Objects 2008的吗,我有个触发事件没能触发,求懂的检查下代码,Delphi XE2 写的。
- 初学者关于菜单问题
- 在这里有些问题需要用图像来表达,应当如何作??
- 超级郁闷,怎样设置打印机纸张的大小(类型),找了好多资料,大多让我从控制面板中设置,太不可思议了
- 哪里有Delphi中常用的关键字解释说明资料?
- 谁能告诉我这是怎么回事?分不够可以再加。
- 请教大虾一个问题:如何实现图像的各种图像淡出淡入效果?有控件吗?
- 关于dbgrideh水平滚动条的问题
- hook求救!!
- UniQuery1想获得所有表名,代码该如何写?
- 哪里有installshield express 的下载呀
- button的default设置为true时,按回车按钮不能按下???
每个EXCEL表大约是15M左右,第个表里取出26000条左右记录.
我用adoquery读了800条记录就有这种情况 用线程写怎么写 能共享一下方法吗
只是在SQL时写成:
SELECT excel.* FROM [Excel 8.0; Database=' + AppPath + '].[SheetName$] AS exce
然后在WHERE中加入你要读入的数据的条件。
这种方法就是在加载Excel文件时会费些时间。不过在我的程序中,这句话要查Access中一个表的字段和Excel中的一个表的一些字段,结果放在一起。所以这种方法可能会比较快。我试过用你的方法查出一个Execl表,然后与另一个连接其它数据库中一个表的Query对传数据。速度没有现在的这种方法快。
ELECT *
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\test.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...xactions
应该是这个原因.我最开始读少量Excel数据时也遇到过,就是因为那个单元格带个小三角.
to:kzy7517 怎样调整格式?