调用 Excel 都需要哪几个控件,怎么设置它们? 如题! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 需要servers中的ExcelApplication(ea)、ExcelWorksheet(ews)和ExcelWorkbook(ewb)//连接模版 ea.Connect; ewb.ConnectTo(ea.workbooks.open(strtable,emptyparam,emptyparam,emptyparam,emptyparam,emptyparam,emptyparam,emptyparam,emptyparam,emptyparam,emptyparam ,emptyparam,emptyparam,emptyparam,emptyparam,i)); ews.connectTo(ewb.activesheet as _worksheet);//填入表头和表尾 ews.cells.item[4,2].value:=cbyear.text; ews.cells.item[4,4].value:=cbmonth.text; ews.Cells.Item[4,1].value:=cbtrade.Text;//显示并关闭连接 ea.visible[i]:=true; ewb.printpreview; ews.Disconnect; ewb.Disconnect; ea.Disconnect; screen.Cursor:=crarrow; uses ComObj;也可以不用人和控件 你这里面的 strtable i cbyear cbmonth cbtrade emptyparam 都是什么阿? > 全面控制 Excel > 首先?建 Excel ?象,使用ComObj:> var ExcelID: Variant;> ExcelID := CreateOleObject( 'Excel.Application' );> 1) ?示?前窗口:> ExcelID.Visible := True;> 2) 更改 Excel ???:> ExcelID.Caption := '?用程序?用 Microsoft Excel';> 3) 添加新工作簿:> ExcelID.WorkBooks.Add;> 4) 打?已存在的工作簿:> ExcelID.WorkBooks.Open( 'C:ExcelDemo.xls' );> 5) ?置第2?工作表?活?工作表:> ExcelID.WorkSheets[2].Activate; > 或 > ExcelID.WorksSheets[ 'Sheet2' ].Activate;> 6) ??元格?值:> ExcelID.Cells[1,4].Value := '第一行第四列';> 7) ?置指定列的?度(?位:字符??),以第一列?例:> ExcelID.ActiveSheet.Columns[1].ColumnsWidth := 5;> 8) ?置指定行的高度(?位:磅)(1磅=0.035厘米),以第二行?例:> ExcelID.ActiveSheet.Rows[2].RowHeight := 1/0.035; // 1厘米> 9) 在第8行之前插入分?符:> ExcelID.WorkSheets[1].Rows[8].PageBreak := 1;> 10) 在第8列之前?除分?符:> ExcelID.ActiveSheet.Columns[4].PageBreak := 0;> 11) 指定?框??度:> ExcelID.ActiveSheet.Range[ 'B3:D4' ].Borders[2].Weight := 3;> 1-左 2-右 3-? 4-底 5-斜( ) 6-斜( / )> 12) 清除第一行第四列?元格公式:> ExcelID.ActiveSheet.Cells[1,4].ClearContents;> 13) ?置第一行字体?性:> ExcelID.ActiveSheet.Rows[1].Font.Name := '??';> ExcelID.ActiveSheet.Rows[1].Font.Color := clBlue;> ExcelID.ActiveSheet.Rows[1].Font.Bold := True;> ExcelID.ActiveSheet.Rows[1].Font.UnderLine := True;> 14) ?行?面?置:> a.?眉:> ExcelID.ActiveSheet.PageSetup.CenterHeader := '?表演示';> b.??:> ExcelID.ActiveSheet.PageSetup.CenterFooter := '第&P?';> c.?眉到?端?距2cm:> ExcelID.ActiveSheet.PageSetup.HeaderMargin := 2/0.035;> d.??到底端?距3cm:> ExcelID.ActiveSheet.PageSetup.HeaderMargin := 3/0.035;> e.??距2cm:> ExcelID.ActiveSheet.PageSetup.TopMargin := 2/0.035;> f.底?距2cm:> ExcelID.ActiveSheet.PageSetup.BottomMargin := 2/0.035;> g.左?距2cm:> ExcelID.ActiveSheet.PageSetup.LeftMargin := 2/0.035;> h.右?距2cm:> ExcelID.ActiveSheet.PageSetup.RightMargin := 2/0.035;> i.?面水平居中:> ExcelID.ActiveSheet.PageSetup.CenterHorizontally := 2/0.035;> j.?面垂直居中:> ExcelID.ActiveSheet.PageSetup.CenterVertically := 2/0.035;> k.打印?元格网?:> ExcelID.ActiveSheet.PageSetup.PrintGridLines := True;> 15) 拷?操作:> a.拷?整?工作表:> ExcelID.ActiveSheet.Used.Range.Copy;> b.拷?指定?域:> ExcelID.ActiveSheet.Range[ 'A1:E2' ].Copy;> c.?A1位置?始粘?:> ExcelID.ActiveSheet.Range.[ 'A1' ].PasteSpecial;> d.?文件尾部?始粘?:> ExcelID.ActiveSheet.Range.PasteSpecial;> 16) 插入一行或一列:> a. ExcelID.ActiveSheet.Rows[2].Insert;> b. ExcelID.ActiveSheet.Columns[1].Insert;> 17) ?除一行或一列:> a. ExcelID.ActiveSheet.Rows[2].Delete;> b. ExcelID.ActiveSheet.Columns[1].Delete;> 18) 打印??工作表:> ExcelID.ActiveSheet.PrintPreview;> 19) 打印?出工作表:> ExcelID.ActiveSheet.PrintOut;> 20) 工作表保存:> if not ExcelID.ActiveWorkBook.Saved then> ExcelID.ActiveSheet.PrintPreview;> 21) 工作表另存?:> ExcelID.SaveAs( 'C:ExcelDemo1.xls' );> 22) 放?存?:> ExcelID.ActiveWorkBook.Saved := True;> 23) ??工作簿:> ExcelID.WorkBooks.Close;> 24) 退出 Excel:> ExcelID.Quit; Server 页上的TExcelApplication TExcelWorkBook TExcelWordSheet 控件 strtable可以是指定的excel文件的路径,cbyear、cbmonth、cbtrade都是文本框,也就是说ews.cells.item[4,2].value:=“一个字符串”。emptyparam,i都是固定的参数,直接写上就行了,但要注意拟连接的是office2000还是office XP,他们所需的emptyparam参数的个数是不一样的。 断电了,数据丢失,是不是我的程序出现问题了? 符合这种功能的stringgrid有吗?急 如何开发输入法? 数据导出的问题 送分题:这样的SQL语句怎么写? 从Memo向Excel导的问题 自己制作组件的问题 如何把exe和dll文件编译到一个exe文件里? 无标题窗口问题。 一个简单的问题,但是我不知道 在delphl中怎样查询数据库?急用,please help!SOS!!! 请问连接SQL SERVER2000的问题。
ea.Connect;
ewb.ConnectTo(ea.workbooks.open(strtable,emptyparam,emptyparam,emptyparam,emptyparam,emptyparam,emptyparam,emptyparam,emptyparam,emptyparam,emptyparam ,emptyparam,emptyparam,emptyparam,emptyparam,i));
ews.connectTo(ewb.activesheet as _worksheet);
//填入表头和表尾
ews.cells.item[4,2].value:=cbyear.text;
ews.cells.item[4,4].value:=cbmonth.text;
ews.Cells.Item[4,1].value:=cbtrade.Text;
//显示并关闭连接
ea.visible[i]:=true;
ewb.printpreview;
ews.Disconnect;
ewb.Disconnect;
ea.Disconnect;
screen.Cursor:=crarrow;
也可以不用人和控件
> 首先?建 Excel ?象,使用ComObj:
> var ExcelID: Variant;
> ExcelID := CreateOleObject( 'Excel.Application' );
> 1) ?示?前窗口:
> ExcelID.Visible := True;
> 2) 更改 Excel ???:
> ExcelID.Caption := '?用程序?用 Microsoft Excel';
> 3) 添加新工作簿:
> ExcelID.WorkBooks.Add;
> 4) 打?已存在的工作簿:
> ExcelID.WorkBooks.Open( 'C:ExcelDemo.xls' );
> 5) ?置第2?工作表?活?工作表:
> ExcelID.WorkSheets[2].Activate;
> 或
> ExcelID.WorksSheets[ 'Sheet2' ].Activate;
> 6) ??元格?值:
> ExcelID.Cells[1,4].Value := '第一行第四列';
> 7) ?置指定列的?度(?位:字符??),以第一列?例:
> ExcelID.ActiveSheet.Columns[1].ColumnsWidth := 5;
> 8) ?置指定行的高度(?位:磅)(1磅=0.035厘米),以第二行?例:
> ExcelID.ActiveSheet.Rows[2].RowHeight := 1/0.035; // 1厘米
> 9) 在第8行之前插入分?符:
> ExcelID.WorkSheets[1].Rows[8].PageBreak := 1;
> 10) 在第8列之前?除分?符:
> ExcelID.ActiveSheet.Columns[4].PageBreak := 0;
> 11) 指定?框??度:
> ExcelID.ActiveSheet.Range[ 'B3:D4' ].Borders[2].Weight := 3;
> 1-左 2-右 3-? 4-底 5-斜( ) 6-斜( / )
> 12) 清除第一行第四列?元格公式:
> ExcelID.ActiveSheet.Cells[1,4].ClearContents;
> 13) ?置第一行字体?性:
> ExcelID.ActiveSheet.Rows[1].Font.Name := '??';
> ExcelID.ActiveSheet.Rows[1].Font.Color := clBlue;
> ExcelID.ActiveSheet.Rows[1].Font.Bold := True;
> ExcelID.ActiveSheet.Rows[1].Font.UnderLine := True;
> 14) ?行?面?置:
> a.?眉:
> ExcelID.ActiveSheet.PageSetup.CenterHeader := '?表演示';
> b.??:
> ExcelID.ActiveSheet.PageSetup.CenterFooter := '第&P?';
> c.?眉到?端?距2cm:
> ExcelID.ActiveSheet.PageSetup.HeaderMargin := 2/0.035;
> d.??到底端?距3cm:
> ExcelID.ActiveSheet.PageSetup.HeaderMargin := 3/0.035;
> e.??距2cm:
> ExcelID.ActiveSheet.PageSetup.TopMargin := 2/0.035;
> f.底?距2cm:
> ExcelID.ActiveSheet.PageSetup.BottomMargin := 2/0.035;
> g.左?距2cm:
> ExcelID.ActiveSheet.PageSetup.LeftMargin := 2/0.035;
> h.右?距2cm:
> ExcelID.ActiveSheet.PageSetup.RightMargin := 2/0.035;
> i.?面水平居中:
> ExcelID.ActiveSheet.PageSetup.CenterHorizontally := 2/0.035;
> j.?面垂直居中:
> ExcelID.ActiveSheet.PageSetup.CenterVertically := 2/0.035;
> k.打印?元格网?:
> ExcelID.ActiveSheet.PageSetup.PrintGridLines := True;
> 15) 拷?操作:
> a.拷?整?工作表:
> ExcelID.ActiveSheet.Used.Range.Copy;
> b.拷?指定?域:
> ExcelID.ActiveSheet.Range[ 'A1:E2' ].Copy;
> c.?A1位置?始粘?:
> ExcelID.ActiveSheet.Range.[ 'A1' ].PasteSpecial;
> d.?文件尾部?始粘?:
> ExcelID.ActiveSheet.Range.PasteSpecial;
> 16) 插入一行或一列:
> a. ExcelID.ActiveSheet.Rows[2].Insert;
> b. ExcelID.ActiveSheet.Columns[1].Insert;
> 17) ?除一行或一列:
> a. ExcelID.ActiveSheet.Rows[2].Delete;
> b. ExcelID.ActiveSheet.Columns[1].Delete;
> 18) 打印??工作表:
> ExcelID.ActiveSheet.PrintPreview;
> 19) 打印?出工作表:
> ExcelID.ActiveSheet.PrintOut;
> 20) 工作表保存:
> if not ExcelID.ActiveWorkBook.Saved then
> ExcelID.ActiveSheet.PrintPreview;
> 21) 工作表另存?:
> ExcelID.SaveAs( 'C:ExcelDemo1.xls' );
> 22) 放?存?:
> ExcelID.ActiveWorkBook.Saved := True;
> 23) ??工作簿:
> ExcelID.WorkBooks.Close;
> 24) 退出 Excel:
> ExcelID.Quit;
TExcelApplication TExcelWorkBook TExcelWordSheet 控件