DELPHI中这六个excel构件,使用其中那几个可以达到我的效果和怎样使用(20分)

  • 主题发起人 主题发起人 pchddcat
  • 开始时间 开始时间
P

pchddcat

Unregistered / Unconfirmed
GUEST, unregistred user!
DELPHI中这六个构件,使用其中那几个可以达到我的效果和怎样使用
TEXCELAPPLICATION
TEXCELWORKBOOK
TEXCELWORKSHEET
TEXCELQUERYTABLE
TEXCELCHART
TEXCELOLEOBJECT
我只是需要把查询出来的资料放在grid里面,然后把里面的资料保存在excel文件里面,再
让用户在excel里面打印,不知道需要用到这六个中那几个和怎样使用.
 
TEXCELAPPLICATION就够了。其实不用控件更好,例子如下(要uses ComObj, ComCtrls):
var ExcelApp:Variant;
begin
ExcelApp:=CreateOleObject('Excel.Application');
//ExcelApp.visible:=true;
ExcelApp.Caption:='应用程序调用 Microsoft Excel';
ExcelApp.WorkBooks.Add;
//新增工作簿
//ExcelApp.workBooks.Open('C:/My do
cuments/Ca09lin1.xls');
//打开已存在工作簿
ExcelApp.Worksheets[2].activate;
//打开第2个工作表
//ExcelApp.WorkSheets['第四章'].activate;
//打开名为第四章的工作表
ExcelApp.Cells[1,4].Value:='第一行第四列';
ExcelApp.Cells[1,5].Value:='第一行第五列';
ExcelApp.ActiveSheet.Columns[4].ColumnWidth:=15;
ExcelApp.ActiveSheet.Rows[1].RowHeight:=15;
//ExcelApp.WorkSheets[1].Rows[8].PageBreak:=1;
//设置分页符,但似无效
//Excelapp.ActiveSheet.Rows[8].PageBreak:=1;
//同上
ExcelApp.ActiveSheet.Range['B3:D4'].Borders[2].Weight:=3;
ExcelApp.ActiveSheet.Range['B3:D4'].Borders[1].Weight:=3;
ExcelApp.ActiveSheet.Range['B3:D4'].Borders[3].Weight:=3;
ExcelApp.ActiveSheet.Range['B3:D4'].Borders[4].Weight:=3;
//ExcelApp.ActiveSheet.Range['B3:D4'].Borders[5].Weight:=3;
//会直接在范围内的各Cell内加上斜杠|
//ExcelApp.ActiveSheet.Range['B3:D4'].Borders[6].Weight:=3;
//与上句类似
//Bordrs:1-左 2-右 3-顶 4-底 5-斜( / ) 6-斜( / )
ExcelApp.Cells[3,2].Value:='三行二列';
ExcelApp.Cells[3,3].Value:='三行三列';
ExcelApp.Cells[3,4].Value:='三行四列';
ExcelApp.Cells[4,2].Value:='四行二列';
ExcelApp.Cells[4,3].Value:='四行三列';
ExcelApp.Cells[4,4].Value:='四行四列';
//ExcelApp.ActiveSheet.Range['B3:D4'].Value.CopyToClipBoard;
ExcelApp.activeSheet.Cells[1,4].ClearContents;
//清除一行四列的内容,activeSheet可以省略
Excelapp.Rows[3].font.Name:='隶书';
//这里Rows前省略了activeSheet,但针对也只是当前工作表而非整个工作簿
ExcelApp.Rows[3].font.Color:=clBlue;
ExcelApp.Rows[3].Font.Bold:=True;
ExcelApp.Rows[3].Font.UnderLine:=True;
ExcelApp.Range['B3:D4'].Copy;
RichEdit1.PasteFromClipboard;
//ExcelApp.ActiveSheet.PageSetup.CenterFooter:='第$P页';
//所有页面设置(PageSetup的属性)都不能进行,不知为何
//ExcelApp.ActiveSheet.PrintPreview;
//打印预览
//ExcelApp.ActiveSheet.PrintOut;
//直接打印输出
//if not ExcelApp.ActiveWorkBook.Saved then
//工作表保存:
// ExcelApp.ActiveSheet.PrintPreview;
//ExcelApp.SaveAs( 'C:/Excel/Demo1.xls' );
//工作表另存为
ExcelApp.ActiveWorkBook.Saved := True;
// 放弃存盘
ExcelApp.WorkBooks.Close;
//关闭工作簿
ExcelApp.Quit;
//退出 Excel
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
后退
顶部