谁帮忙,难道大家都想着放假,不上csdn了吗?写不出程序我怎么放假? 呜呜呜呜呜呜呜呜呜呜。。

解决方案 »

  1.   

    procedure TstartForm.SpeedButton10Click(Sender: TObject);
      var MSExcel:Variant;
      begin
      MSExcel:=CreateOLEObject('Excel.Application');
      MSExcel.WorkBooks.Add;
      MSExcel.Visible:=True;  for i:=5 to Query1.RecordCount+4 do
      begin
      MsExcel.Cells[i,1].value:=Query1.FieldByName('cpxhno').Asstring;
      MsExcel.Cells[i,2].value:=Query1.FieldByName('cpname').Asstring;
      MsExcel.Cells[i,3].value:=Query1.FieldByName('cpunit').Asstring;
      MsExcel.Cells[i,4].value:=Query1.FieldByName('htnumber').Asstring;
      MsExcel.Cells[i,5].value:=Query1.FieldByName('number').Asstring;
      MsExcel.Cells[i,6].value:=Query1.FieldByName('ljno').Asstring;
      end;
      end;退出Excel:
    MSExcel.Quit;
    MSExcel:=Unassigned; //释放VARIANT变
    ***************
    先加入ExcelApplication1;ExcelWorkbook1;ExcelWorksheet1;
    procedure TForm1.n1Click(Sender: TObject);
    var
      row,brea:integer;
      a,b,c,d,e:shortstring;
    begin
      if table1.active = True then begin
        try
          ExcelApplication1.Connect;
        Except
          ExcelApplication1.free;
          Abort;
        end;
        brea := strtoint(inputbox('输入需导入行数!','行数','10'));
        if brea<1 then brea := 10;
        ProgressBar1.Visible := True;
        ProgressBar1.Max := brea;
        ExcelApplication1.Visible[0] := true;
        for row := 2 to brea do
        begin
          a := ExcelWorksheet1.Cells.Item[row,2];
          b := ExcelWorksheet1.Cells.Item[row,1];
          c := ExcelWorksheet1.Cells.Item[row,3];
          d := ExcelWorksheet1.Cells.Item[row,4];
          e := ExcelWorksheet1.Cells.Item[row,5];
          form1.show;
          table1.AppendRecord([a,b,c,d,e]);
          ProgressBar1.Position := row-1;
        end;
        ProgressBar1.Hide;
      end;
    end;
    *****************
    var
    MSExcel: Variant;
    i: Integer;
    begin
    OpenDialog1.Filter:='*.XLS|*.XLS';
    OpenDialog1.DefaultExt:='XLS';
    if OpenDialog1.Execute then
    begin
      MSExcel:=CreateOLEObject('Excel.Application');
      MSExcel.WorkBooks.Open(OpenDialog1.FileName);
      MSExcel.Visible:=False;
      //从有数据的行逐行读入数据
      for i:=1 to MSExcel.ActiveSheet.UsedRange.Rows.Count do
      begin
        Edit2.Text:=Edit2.Text+MSExcel.Cells[i,1].Value;
      end;
      MSExcel.ActiveWorkBook.Close;
      MSExcel.Quit;
    end;
    end;
      

  2.   

    这些例程太多了,不用再在这里赘述。
    你在本论坛搜索关键字为‘Exel'或'Word'的贴子,必有一贴适合你。
      

  3.   

    对WORD的调用:启动word时用如下代码: 
    begin
    try 
    wordapplication.connect; 
    except 
    messagedlg('word may not be installed', mterror, [mbok], 0); 
    abort; 
    end; 
    wordapplication.visible := true; 
    wordapplication.caption := 'delphi automation'; 
    end; 关闭word用如下代码。如果想保存doc文件,请修改savechanges变量的内容: 
    var 
    savechanges, originalformat, routedocument: olevariant; 
    begin 
    savechanges := wddonotsavechanges; 
    originalformat := unassigned; 
    routedocument := unassigned; 
    try 
    wordapplication.quit(savechanges, originalformat, routedocument); 
    wordapplication.disconnect; 
    except 
    on e: exception do 
    begin 
    showmessage(e.message); 
    wordapplication.disconnect; 
    end; 
    end; 
    end; 让word打开一个指定的文件,需要先放置opendialog,然后调用wordapplication.documents.open: 
    var 
    itemindex :olevariant; 
    filename, confirmconversions, readonly, addtorecentfiles, 
    passworddocument, passwordtemplate, revert, 
    writepassworddocument, writepasswordtemplate, format: olevariant; 
    begin 
    if not dlgopen.execute then 
    exit; {open document} 
    filename := dlgopen.filename; 
    confirmconversions := false; 
    readonly := false; 
    addtorecentfiles := false; 
    passworddocument := ''; 
    passwordtemplate := ''; 
    revert := true; 
    writepassworddocument := ''; 
    writepasswordtemplate := ''; 
    format := wdopenformatdocument; wordapplication.documents.open( filename, confirmconversions, 
    readonly, addtorecentfiles, passworddocument, passwordtemplate, 
    revert, writepassworddocument, writepasswordtemplate, format ); {assign worddocument component} 
    itemindex := 1; 
    worddocument.connectto(wordapplication.documents.item(itemindex)); {turn spell checking of because it takes a long time if enabled and slows down winword} 
    wordapplication.options.checkspellingasyoutype := false; 
    wordapplication.options.checkgrammarasyoutype := false; 
    end; 让word替换标记字符串要使用worddocument.range.find.execute,这里用delphi替换了<#name>: 
    var 
    findtext, matchcase, matchwholeword, matchwildcards, matchsoundslike, 
    matchallwordforms, forward, wrap, format, replacewith, replace: olevariant; 
    begin 
    findtext := '<#name>'; 
    matchcase := false; 
    matchwholeword := true; 
    matchwildcards := false; 
    matchsoundslike := false; 
    matchallwordforms := false; 
    forward := true; 
    wrap := wdfindcontinue; 
    format := false; 
    replacewith := 'delphi'; 
    replace := true; worddocument.range.find.execute( findtext, matchcase, matchwholeword, 
    matchwildcards, matchsoundslike, matchallwordforms, forward, 
    wrap, format, replacewith, replace ); end; 
      

  4.   

    // 转贴Delphi 5 控制Excel            作者:吴晓勇,孙唏瑜
                时间:2001年11月20日(一) 使用动态创建的方法首先创建 Excel 对象,使用ComObj:
    var ExcelApp: Variant;
    ExcelApp := CreateOleObject( 'Excel.Application' );1) 显示当前窗口:
    ExcelApp.Visible := True;2) 更改 Excel 标题栏:
    ExcelApp.Caption := '应用程序调用 Microsoft Excel';3) 添加新工作簿:
    ExcelApp.WorkBooks.Add;4) 打开已存在的工作簿:
    ExcelApp.WorkBooks.Open( 'C:\Excel\Demo.xls' );5) 设置第2个工作表为活动工作表:
    ExcelApp.WorkSheets[2].Activate;  
    或 
    ExcelApp.WorksSheets[ 'Sheet2' ].Activate;6) 给单元格赋值:
    ExcelApp.Cells[1,4].Value := '第一行第四列';7) 设置指定列的宽度(单位:字符个数),以第一列为例:
    ExcelApp.ActiveSheet.Columns[1].ColumnsWidth := 5;8) 设置指定行的高度(单位:磅)(1磅=0.035厘米),以第二行为例:
    ExcelApp.ActiveSheet.Rows[2].RowHeight := 1/0.035; // 1厘米9) 在第8行之前插入分页符:
    ExcelApp.WorkSheets[1].Rows[8].PageBreak := 1;10) 在第8列之前删除分页符:
    ExcelApp.ActiveSheet.Columns[4].PageBreak := 0;11) 指定边框线宽度:
    ExcelApp.ActiveSheet.Range[ 'B3:D4' ].Borders[2].Weight := 3;
    1-左    2-右   3-顶    4-底   5-斜( \ )     6-斜( / )12) 清除第一行第四列单元格公式:
    ExcelApp.ActiveSheet.Cells[1,4].ClearContents;13) 设置第一行字体属性:
    ExcelApp.ActiveSheet.Rows[1].Font.Name := '隶书';
    ExcelApp.ActiveSheet.Rows[1].Font.Color  := clBlue;
    ExcelApp.ActiveSheet.Rows[1].Font.Bold   := True;
    ExcelApp.ActiveSheet.Rows[1].Font.UnderLine := True;14) 进行页面设置:a.页眉:
        ExcelApp.ActiveSheet.PageSetup.CenterHeader := '报表演示';
    b.页脚:
        ExcelApp.ActiveSheet.PageSetup.CenterFooter := '第&P页';
    c.页眉到顶端边距2cm:
        ExcelApp.ActiveSheet.PageSetup.HeaderMargin := 2/0.035;
    d.页脚到底端边距3cm:
        ExcelApp.ActiveSheet.PageSetup.HeaderMargin := 3/0.035;
    e.顶边距2cm:
        ExcelApp.ActiveSheet.PageSetup.TopMargin := 2/0.035;
    f.底边距2cm:
        ExcelApp.ActiveSheet.PageSetup.BottomMargin := 2/0.035;
    g.左边距2cm:
        ExcelApp.ActiveSheet.PageSetup.LeftMargin := 2/0.035;
    h.右边距2cm:
        ExcelApp.ActiveSheet.PageSetup.RightMargin := 2/0.035;
    i.页面水平居中:
        ExcelApp.ActiveSheet.PageSetup.CenterHorizontally := 2/0.035;
    j.页面垂直居中:
        ExcelApp.ActiveSheet.PageSetup.CenterVertically := 2/0.035;
    k.打印单元格网线:
        ExcelApp.ActiveSheet.PageSetup.PrintGridLines := True;15) 拷贝操作:a.拷贝整个工作表:
        ExcelApp.ActiveSheet.Used.Range.Copy;
    b.拷贝指定区域:
        ExcelApp.ActiveSheet.Range[ 'A1:E2' ].Copy;
    c.从A1位置开始粘贴:
        ExcelApp.ActiveSheet.Range.[ 'A1' ].PasteSpecial;
    d.从文件尾部开始粘贴:
        ExcelApp.ActiveSheet.Range.PasteSpecial;16) 插入一行或一列:
    a. ExcelApp.ActiveSheet.Rows[2].Insert;
    b. ExcelApp.ActiveSheet.Columns[1].Insert;17) 删除一行或一列:
    a. ExcelApp.ActiveSheet.Rows[2].Delete;
    b. ExcelApp.ActiveSheet.Columns[1].Delete;18) 打印预览工作表:
    ExcelApp.ActiveSheet.PrintPreview;19) 打印输出工作表:
    ExcelApp.ActiveSheet.PrintOut;20) 工作表保存:
    if not ExcelApp.ActiveWorkBook.Saved then
       ExcelApp.ActiveSheet.PrintPreview;21) 工作表另存为:
    ExcelApp.SaveAs( 'C:\Excel\Demo1.xls' );22) 放弃存盘:
    ExcelApp.ActiveWorkBook.Saved := True;23) 关闭工作簿:
    ExcelApp.WorkBooks.Close;24) 退出 Excel:
    ExcelApp.Quit;( 
     
     
    Top 
     
     回复人: Snakeguo(枫) (  ) 信誉:100  2002-3-25 8:38:51  得分:0  
     
     
      二) 使用Delphi 控件方法
    在Form中分别放入ExcelApplication, ExcelWorkbook和ExcelWorksheet。 1)  打开Excel 
    ExcelApplication1.Connect;2) 显示当前窗口:
    ExcelApplication1.Visible[0]:=True;3) 更改 Excel 标题栏:
    ExcelApplication1.Caption := '应用程序调用 Microsoft Excel';4) 添加新工作簿:
    ExcelWorkbook1.ConnectTo(ExcelApplication1.Workbooks.Add(EmptyParam,0));
     
    5) 添加新工作表:
    var Temp_Worksheet: _WorkSheet;
    begin
    Temp_Worksheet:=ExcelWorkbook1.
    WorkSheets.Add(EmptyParam,EmptyParam,EmptyParam,EmptyParam,0) as _WorkSheet;
    ExcelWorkSheet1.ConnectTo(Temp_WorkSheet);
    End;
     
    6) 打开已存在的工作簿:
    ExcelApplication1.Workbooks.Open (c:\a.xls
    EmptyParam,EmptyParam,EmptyParam,EmptyParam,
    EmptyParam,EmptyParam,EmptyParam,EmptyParam,
        EmptyParam,EmptyParam,EmptyParam,EmptyParam,0)7) 设置第2个工作表为活动工作表:
    ExcelApplication1.WorkSheets[2].Activate;  或
    ExcelApplication1.WorksSheets[ 'Sheet2' ].Activate;8) 给单元格赋值:
    ExcelApplication1.Cells[1,4].Value := '第一行第四列';9) 设置指定列的宽度(单位:字符个数),以第一列为例:
    ExcelApplication1.ActiveSheet.Columns[1].ColumnsWidth := 5;10) 设置指定行的高度(单位:磅)(1磅=0.035厘米),以第二行为例:
    ExcelApplication1.ActiveSheet.Rows[2].RowHeight := 1/0.035; // 1厘米11) 在第8行之前插入分页符:
    ExcelApplication1.WorkSheets[1].Rows[8].PageBreak := 1;12) 在第8列之前删除分页符:
    ExcelApplication1.ActiveSheet.Columns[4].PageBreak := 0;13) 指定边框线宽度:
    ExcelApplication1.ActiveSheet.Range[ 'B3:D4' ].Borders[2].Weight := 3;
    1-左    2-右   3-顶    4-底   5-斜( \ )     6-斜( / )14) 清除第一行第四列单元格公式:
    ExcelApplication1.ActiveSheet.Cells[1,4].ClearContents;15) 设置第一行字体属性:
    ExcelApplication1.ActiveSheet.Rows[1].Font.Name := '隶书';
    ExcelApplication1.ActiveSheet.Rows[1].Font.Color  := clBlue;
    ExcelApplication1.ActiveSheet.Rows[1].Font.Bold   := True;
    ExcelApplication1.ActiveSheet.Rows[1].Font.UnderLine := True;16) 进行页面设置:
     a.页眉:
        ExcelApplication1.ActiveSheet.PageSetup.CenterHeader := '报表演示';
    b.页脚:
        ExcelApplication1.ActiveSheet.PageSetup.CenterFooter := '第&P页';
    c.页眉到顶端边距2cm:
        ExcelApplication1.ActiveSheet.PageSetup.HeaderMargin := 2/0.035;
    d.页脚到底端边距3cm:
        ExcelApplication1.ActiveSheet.PageSetup.HeaderMargin := 3/0.035;
    e.顶边距2cm:
        ExcelApplication1.ActiveSheet.PageSetup.TopMargin := 2/0.035;
    f.底边距2cm:
        ExcelApplication1.ActiveSheet.PageSetup.BottomMargin := 2/0.035;
    g.左边距2cm:
        ExcelApplication1.ActiveSheet.PageSetup.LeftMargin := 2/0.035;
    h.右边距2cm:
        ExcelApplication1.ActiveSheet.PageSetup.RightMargin := 2/0.035;
    i.页面水平居中:
        ExcelApplication1.ActiveSheet.PageSetup.CenterHorizontally := 2/0.035;
    j.页面垂直居中:
        ExcelApplication1.ActiveSheet.PageSetup.CenterVertically := 2/0.035;
    k.打印单元格网线:
        ExcelApplication1.ActiveSheet.PageSetup.PrintGridLines := True;17) 拷贝操作:a.拷贝整个工作表:
        ExcelApplication1.ActiveSheet.Used.Range.Copy;b.拷贝指定区域:
        ExcelApplication1.ActiveSheet.Range[ 'A1:E2' ].Copy;c.从A1位置开始粘贴:
        ExcelApplication1.ActiveSheet.Range.[ 'A1' ].PasteSpecial;d.从文件尾部开始粘贴:
        ExcelApplication1.ActiveSheet.Range.PasteSpecial;18) 插入一行或一列:
    a. ExcelApplication1.ActiveSheet.Rows[2].Insert;
    b. ExcelApplication1.ActiveSheet.Columns[1].Insert;19) 删除一行或一列:
    a. ExcelApplication1.ActiveSheet.Rows[2].Delete;
    b. ExcelApplication1.ActiveSheet.Columns[1].Delete;20) 打印预览工作表:
    ExcelApplication1.ActiveSheet.PrintPreview;21) 打印输出工作表:
    ExcelApplication1.ActiveSheet.PrintOut;22) 工作表保存:
    if not ExcelApplication1.ActiveWorkBook.Saved then
       ExcelApplication1.ActiveSheet.PrintPreview;23) 工作表另存为:
    ExcelApplication1.SaveAs( 'C:\Excel\Demo1.xls' );24) 放弃存盘:
    ExcelApplication1.ActiveWorkBook.Saved := True;25) 关闭工作簿:
    ExcelApplication1.WorkBooks.Close;26) 退出 Excel:
    ExcelApplication1.Quit;
    ExcelApplication1.Disconnect;(三) 使用Delphi 控制Excle二维图
    在Form中分别放入ExcelApplication, ExcelWorkbook和ExcelWorksheet
    var asheet1,achart, range:variant;1)选择当第一个工作薄第一个工作表
    asheet1:=ExcelApplication1.Workbooks[1].Worksheets[1];2)增加一个二维图
    achart:=asheet1.chartobjects.add(100,100,200,200);3)选择二维图的形态
    achart.chart.charttype:=4;4)给二维图赋值
    series:=achart.chart.seriescollection;
    range:=sheet1!r2c3:r3c9;
    series.add(range,tru
      

  5.   

    to   loseliu (小马)  
    好惨,我还在上班啊:(
      

  6.   

    我也在上班呀!!!
    不过明天放假
    delphi中本身就有word的例子,你去找找,在哪儿我忘了