zoukankan      html  css  js  c++  java
  • 今天在Delphi7中使用AADOConnection 连接Excel

    今天在Delphi中使用ADO连接Excel(以前在一本书看过,复习一下-_-!!),有所收获,不敢独享。第一部分:1. 设置ADOConnection的ConnectionString属性的OLE DB的提供者要选择Microsoft Jet 4.0 OLE DBProvider(这本来是用于连接Access数据库的驱动程序,但也可打开Excel文件),按 "下一步"按钮2. 选择数据库名称。注意:Excel的扩展名是*.xls,而默认文件类型是Microsoft Access 数据库(*.mdb),我们就选择"全部文件(*.*)"吧,接着选择我们要连接的Excel文件咯!!如果在当前路径,就直接填2007.xls。 这时先别慌按 "测试连接"按钮,不然会出现错误对话框的。可以试试看,了解一下 ^_^3. 在"所有"选项卡中找到 "Extended Properties",双击它或者按"编辑值"按钮,设置Extended Properties为"Excel 8.0 "。4. 我们返回"连接"选项卡,按"测试连接"按钮。测试连接成功!!!^_^最后,设置完成后的ConnectionString中的各项参数为:

    //--2003及一下版本
    'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s;Extended Properties=Excel 8.0'
    //--2007
    'Provider=Microsoft.ACE.OLEDB.12.0;Data Source=%s;Extended Properties= Excel 12.0;Persist Security Info=True';

    %s表示文件的路径

    Persist Security Info=False第二部分:接着就用ADOTable,ADODataSet和ADOQuery连接到刚才的ADOConnection,当然你可以直接设置ADOTable,ADODataSet或ADOQuery的ConnectionString属性。1. ADOTable设置:a. ADOTable的TableName属性值:系统自动生成Excel的Sheet1$,Sheet2$和Sheet3$。直接Active设置成true,系统会报告SQL语句格式错误等信息。b. 找到TableDirect属性,设置为True。因为,访问Excel文件是直接的数据文件访问,不是通过SQL语句来操作游标访问的。接着将Active设置成true。成功了!! ^_^c. 可以不使用TableDirect属性,将TableName属性中的Sheet1$,Sheet2$和Sheet3$分别改成[Sheet1$],[Sheet2$]和[Sheet3$]。对,就是加"[]"就行了。2. ADODataSet设置:a. 只需要将CommandType属性设置为cmdTableDirect,选择工作表,Active设置成true就成功了。b. 也可以将CommandType属性设置为cmdTable,将CommandText属性中改成[Sheet1$],[Sheet2$]和[Sheet3$]。3. ADOQuery设置:SQL属性如下:

    select * from [sheet1$]总结:复习以前所学的,尝试新的连接方法,有益于加深记忆。我发现工作表名后面都要多加一个$符号,还有就是打开ADOTable,ADODataSet或者ADOQuery以后,它们的CursorType自动变成ctStatic。 


    获取Excel版本

    [delphi]
    1. const 
    2.   Wordversion97 = 8;  
    3.   Wordversion2000 = 9;  
    4.   WordversionXP = 10;  
    5.   Wordversion2003 = 11;  
    6.   Wordversion2007 = 12;  
    7. }   
    8.   
    9. function GetInstalledWordVersion: Integer;  
    10. var   
    11.   Excel: OLEVariant;  
    12. begin  
    13.   try  
    14.     Excel:=CreateOLEObject('Excel.Application');  
    15.   except  
    16.     ShowMessage('Error...');  
    17.     Exit;  
    18.   end;  
    19.   result := Excel.version;  
    20.   Excel.Quit;  
    21.   Excel := UnAssigned;  
    22. end;   

    转自:http://blog.csdn.net/love3s/article/details/6973761

  • 相关阅读:
    NGINX-HTTPS
    README
    SSH
    Ubuntu
    Python复利
    Python全双工聊天
    Python半双工聊天
    Python网络编程
    使用Python PIL库中的Image.thumbnail函数裁剪图片
    Python模块 os.walk
  • 原文地址:https://www.cnblogs.com/lantianhf/p/5126607.html
Copyright © 2011-2022 走看看