Delphi与Excel

原创 2003年06月05日 10:41:00

uses comobj,excel97,excel2000;

//从Excel写数据到Access库
prodedure ExcelToMdb(EXLfile:string;);
var 
  sheet,XLApp,workbook : variant; 
  iRow,MaxRow:integer;
begin
  screen.Cursor:=crHourGlass;? 
  try
    //创建对象
    XLApp:=createOleObject('Excel.Application');
    XLApp.displayAlerts:=false;
    XLApp.ScreenUpdating:=false;
    XLApp.WorkBooks.Add(EXLfile);
    workbook := XLApp.workbooks[1];
    sheet:=workbook.worksheets[1];
    //sheet:=XLApp.WorkBooks[1].worksheets[1];
    
    
    //取得最大行数? maxRow
    XLApp.ActiveCell.SpecialCells(xlLastCell).Select;
    maxRow:=XLApp.ActiveCell.Row;       //最大行数
    maxCol:=XLApp.ActiveCell.Column ;   //最大列数

    //写数据到Access库
    ADOTable1.open; 
    for iRow:=2 to MaxRow do 
    if sheet.cells[iRow,1]<>'' then? //关键字不为空
    begin
      ADOTable1.Append ;
      ADOTable1.fieldByName('ID').asInteger:=
strToInt(sheet.cells[iRow,1]); 
      ADOTable1.fieldByName('code').asString:=sheet.cells[iRow,2];?//编码
      ADOTable1.fieldByName('name').asString:=sheet.cells[iRow,3];?//名称
      ADOTable1.post;
    end;

  finally
    if not VarIsEmpty(XLApp) then begin? //释放对象
      XLApp.displayAlerts:=false;
      XLApp.ScreenUpdating:=true;
      XLApp.quit;
    end;
    screen.Cursor:=crDefault;
  end;
end;

//=================== 其他一些属性方法 ===============//

    curRow:=XLApp.ActiveCell.Row;?//当前行数
    XLApp.displayAlerts:=false;???//运行宏时是否显示警告和消息
    XLApp.ScreenUpdating:=false;? //屏幕更新功能,提高速度;
    //结束运行后,ScreenUpdating 设回到 True

    XLApp.run('macroName',params...)//运行宏

    workbook.save ;
    workBook.SaveAs(AFileName,xlNormal,'','',False,False);

怎么在delphi中读取Excel数据(各种详细操作)

( 一 ) 使用动态创建的方法 首先创建 Excel 对象,使用ComObj : Var   ExcelApp : Variant ;   ExcelApp := CreateOl...
  • zang141588761
  • zang141588761
  • 2016年06月15日 15:58
  • 4984

怎么在delphi中读取Excel数据(各种详细操作)

( 一 ) 使用动态创建的方法 首先创建 Excel 对象,使用ComObj : Var ExcelApp : Variant ; ExcelApp := CreateOleObject ...
  • zisongjia
  • zisongjia
  • 2017年03月15日 15:30
  • 1080

Delphi对Excel的所有操作

学完这个你就成为excel高手了!(Delphi对Excel的所有操作)逐个试试!   一) 使用动态创建的方法  首先创建 Excel 对象,使用ComObj:  var ExcelApp: Va...
  • qingfeng45697
  • qingfeng45697
  • 2016年02月01日 16:16
  • 1498

delphi 导出到excel的7种方法

第一种方法delphi 快速导出excel uses ComObj,clipbrd; function ToExcel(sfilename:string; ADOQuery:TADOQuery)...
  • KWWL8888
  • KWWL8888
  • 2013年12月02日 09:09
  • 1601

delphi导出数据至Excel的几种方法及比较

delphi导出数据至Excel的几种方法及比较      一、delphi 快速导出excel uses ComObj,clipbrd; fu...
  • hangyi_008
  • hangyi_008
  • 2014年03月07日 10:37
  • 923

delphi自带控件操作excel

在介绍使用delphi控件前,我们首先需要了解关于EXCEL的几个基本概念:EXCEL应用程序、工作薄(book)、工作表(sheet),我们每次打开excel应用程序时,都会看到一个工作薄和三张工作...
  • js0001
  • js0001
  • 2014年01月05日 14:12
  • 4424

Delphi里如何保存并关闭excel

procedure TForm1.Button6Click(Sender: TObject); var    xlstest, thesheet:Variant; begin ...
  • beyondqd
  • beyondqd
  • 2015年01月27日 15:23
  • 3875

Delphi 导出、导入Excel的一个快速方法

The quickest way is to use an array of Variant,and just pass the entire array to Excel: var     xls,...
  • lcfeng1982
  • lcfeng1982
  • 2015年02月13日 11:03
  • 3353

Delphi 导出数据至Excel的7种方法

一; delphi 快速导出excel uses ComObj,clipbrd; function ToExcel(sfilename:string; ADOQuery:TADOQuery):...
  • zang141588761
  • zang141588761
  • 2016年08月22日 13:15
  • 5961

用Delphi将数据导入到Excel并控制Excel(转载)

一、调用Excel的方法:一般情况下有两种方法调用Excel: 1、 直接使用Delphi自带的组件:在Form中分别放入ExcelApplication, ExcelWorkbook和Excel...
  • tesily
  • tesily
  • 2016年12月27日 14:36
  • 638
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Delphi与Excel
举报原因:
原因补充:

(最多只允许输入30个字)