CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Delphi >  数据库相关

在DELPHI中如何实现直接导入EXCEL表并对表进行操作

楼主Bdtgzj(小鱼)2003-06-01 07:29:50 在 Delphi / 数据库相关 提问

我想做个小程序,它要能够导入EXCEL表,导入后在DELPHI中要能够像是操作数据库一样可以操作!  
  高手们帮帮忙啊! 问题点数:50、回复次数:5Top

1 楼delphimo((误入歧途))回复于 2003-06-01 09:14:23 得分 5

就把excel当做数据库(文本),健个ODBC连接就可以操作了.Top

2 楼moonwzy(令狐不冲)回复于 2003-06-01 10:00:11 得分 5

http://software.ccidnet.com/pub/disp/Article?columnID=295&articleID=36375&pageNO=1  
   
  怎么样,是不是你想要得Top

3 楼yjw1018(GIS_yjw)回复于 2003-06-03 23:19:52 得分 30

把excel当做数据库,做个连接就可以操作了  
  如用ado方法:在delphi中加入adoconnection控件,双击后选择jet   4.0   ole   db,在连接页中  
  选择数据库的名字(.xls),再双击全部(all)页中的Extended   Properties,在value中  
  填入Excel   8.0,OK!  
  在控件ADODataSet1的CommandText属性中选择了select   *     from   Sheet1$后,别忘了在  
  Sheet1$的两边加上中括号[],否则出现“FROM子句语法错误”。或者用ADOQuery1控件:在  
  它的SQL属性中写入:select   *   from   [Sheet1$]。Top

4 楼yixi88()回复于 2003-06-04 08:35:56 得分 10

unit   gzscpas;  
   
  interface  
   
  uses  
      Windows,   Messages,   SysUtils,   Variants,   Classes,   Graphics,   Controls,   Forms,  
      Dialogs,   DB,   ADODB,   ComCtrls,   StdCtrls,comobj,inifiles;  
   
  type  
      TgzscForm   =   class(TForm)  
          Button1:   TButton;  
          DateTimePicker1:   TDateTimePicker;  
          ADOQuery1:   TADOQuery;  
          procedure   Button1Click(Sender:   TObject);  
          procedure   FormClose(Sender:   TObject;   var   Action:   TCloseAction);  
          procedure   FormDestroy(Sender:   TObject);  
      private  
          {   Private   declarations   }  
      public  
          {   Public   declarations   }  
      end;  
   
  var  
      gzscForm:   TgzscForm;  
      app_path:string;  
   
  implementation  
   
  {$R   *.dfm}  
   
  procedure   TgzscForm.Button1Click(Sender:   TObject);  
    var  
            ExcelApp,rangee:variant;  
            i,row:integer;  
            time1,time2,path   :string;  
      begin  
          app_path:=extractfilepath(application.ExeName);  
          with   Tinifile.create(app_path+'pay.ini')   do  
              begin  
                  path   :=app_path+'\page\2003.xls';  
                  end;  
          time1:=formatdatetime('mm',DateTimePicker1.Date);  
          time2:=formatdatetime('yyyy',DateTimePicker1.Date);  
          ExcelApp:=createoleobject('excel.application');  
          ExcelApp.WorkBooks.Open(   path   );  
          ExcelApp.WorkSheets[2].Activate;  
          ExcelApp.Cells[3,1].Activate;  
          rangee:=ExcelApp.activecell;  
          with   adoquery1   do  
          begin  
          close;  
          sql.Clear   ;  
          sql.add('select   *   from   gz   where   month(gzsfrq)='+time1+'   and   year(gzsfrq)='+time2   );  
          open;  
          for   i:=0   to   fields.Count   -1   do  
          begin  
          rangee.value:=fields[i].DisplayLabel   ;  
          if   i=6     then  
          begin  
          rangee.value   :=time2+time1;  
          rangee:=rangee.next;  
          end;  
          case   I   of  
          4..5:   rangee.value   :='';  
          0..1:   rangee.value   :='';  
          else  
          rangee:=rangee.next;  
          end;  
          end;  
          first;  
          row:=4;  
          while   not   eof   do  
          begin  
          rangee:=ExcelApp.range['a'+inttostr(row),'a'+   inttostr(row)];  
          for   i:=0   to   fields.Count   -1   do  
          begin  
              rangee.value:=fields[i].AsString   ;  
              rangee:=rangee.next;  
          end;  
          next;  
          inc(row);  
          end;  
          end;  
          ExcelApp.Visible   :=   True;  
          ExcelApp.ActiveSheet.PrintPreview;  
      end;  
   
  procedure   TgzscForm.FormClose(Sender:   TObject;   var   Action:   TCloseAction);  
  begin  
  action:=cafree;  
  end;  
   
  procedure   TgzscForm.FormDestroy(Sender:   TObject);  
  begin  
  gzscform:=nil;  
  end;  
   
  end.  
  试试这段代码如何?我是通过了,就看您如何使用拉!Top

5 楼whqcfp(one_dollar)回复于 2003-06-04 08:40:13 得分 0

关注Top

相关问题

  • 在delphi中吧SQL的表的记录导入到excel中
  • 把EXCEL表导入ACCESS
  • 将excel表导入到SQL
  • excel表数据如何导入access表?
  • 如何将excel导入sql的表中
  • 如何将表数据导入Excel?
  • 求教:excel表导入数据问题
  • 怎么从excel表中导入数据
  • 导入excel表的问题,急!!
  • 急!请问在DELPHI中把EXCEL和WORD的表格数据导入在数据库中?

关键词

  • delphi
  • 数据库
  • 控件
  • excel
  • 连接
  • 选择
  • rangee
  • tgzscform
  • excelapp
  • 表

得分解答快速导航

  • 帖主:Bdtgzj
  • delphimo
  • moonwzy
  • yjw1018
  • yixi88

相关链接

  • Delphi类图书
  • Delphi类源码下载
  • Delphi控件下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo