WEB开发网
开发学院软件开发Delphi Delphi与Excel 阅读

Delphi与Excel

 2006-02-04 13:39:36 来源:WEB开发网   
核心提示: uses comobj,Excel97,excel2000;//从Excel写数据到access库PRodedure ExcelToMdb(EXLfile:string;);var sheet,XLApp,workbook : variant; iRow,MaxRow:integer;begin scree
 

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;   //最大行数

   //写数据到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);

Tags:Delphi Excel

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接