《程序全面控制 excel》由会员分享,可在线阅读,更多相关《程序全面控制 excel(7页珍藏版)》请在金锄头文库上搜索。
1、看看这个就知道了: 全面控制 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、 设置第 2 个工作表为活动工作表: ExcelID.WorkSheets2.Activate; 或 ExcelID.WorksSheets Sheet2 .Activate;6) 给单元格赋值: ExcelID.Cells1,4.Value := 第一行第四列;7) 设置指定列的宽度(单位:字符个数),以第一列为例: ExcelID.ActiveSheet.Column1.ColumnsWidth := 5;8) 设置指定行的高度(单位:磅)(1 磅0.035 厘米),以第二行为例: ExcelID.ActiveSheet.Rows2.RowHeight := 1/0.035; / 1 厘米
3、9) 在第 8 行之前插入分页符: ExcelID.WorkSheets1.Rows8.PageBreak := 1;10) 在第 8 列之前删除分页符: ExcelID.ActiveSheet.Columns4.PageBreak := 0;11) 指定边框线宽度: ExcelID.ActiveSheet.Range B3:D4 .Borders2.Weight := 3;1-左 2-右 3-顶 4-底 5-斜( ) 6-斜( / )12) 清除第一行第四列单元格公式: ExcelID.ActiveSheet.Cells1,4.ClearContents;13) 设置第一行字体属性: Exc
4、elID.ActiveSheet.Rows1.Font.Name := 隶书; ExcelID.ActiveSheet.Rows1.Font.Color := clBlue; ExcelID.ActiveSheet.Rows1.Font.Bold := True; ExcelID.ActiveSheet.Rows1.Font.UnderLine := True;14) 进行页面设置:a.页眉: ExcelID.ActiveSheet.PageSetup.CenterHeader := 报表演示; b.页脚: ExcelID.ActiveSheet.PageSetup.CenterFooter
5、:= 第 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.ActiveS
6、heet.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 :
7、= 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.Rows2.Insert; b. ExcelID.ActiveSheet.Col
8、umns1.Insert;17) 删除一行或一列:a. ExcelID.ActiveSheet.Rows2.Delete; b. ExcelID.ActiveSheet.Columns1.Delete;18) 打印预览工作表: ExcelID.ActiveSheet.PrintPreview;19) 打印输出工作表: ExcelID.ActiveSheet.PrintOut;20) 工作表保存: if not ExcelID.ActiveWorkBook.Saved then ExcelID.ActiveSheet.PrintPreview;21) 工作表另存为: ExcelID.SaveAs
9、( C:ExcelDemo1.xls );22) 放弃存盘: ExcelID.ActiveWorkBook.Saved := True;23) 关闭工作簿: ExcelID.WorkBooks.Close;24) 退出 Excel: ExcelID.Quit;有很多类似的问题了。再贴一次吧。 procedure TForm1.Button5Click(Sender: TObject); var ExcelApp,MyWorkBook,mysheet:Variant; i :byte; s: string; begin try ExcelApp:=CreateOleObject(Excel.Ap
10、plication); MyWorkBook:=CreateOleobject(Excel.Sheet); /? MyWorkBook:=ExcelApp.workbooks.open(C:Book1.xls); except on Exception do raise exception.Create(无法打开 Xls 文件,请确认已 经安装 EXCEL) end; ExcelApp.Visible := true; /? mysheet:=MyWorkBook.WorkSheets1.name;MyworkBook:=ExcelApp.workBooks.Add;/在此处插入读数据库及写
11、Excel 文档的代码 /其中写 Excel 文档的关键语句如下: Myworkbook.worksheets1.rangeA1:D1.Merge(True);Myworkbook.worksheets1.rangeA1:D2.HorizontalAlignment := $FFFFEFF4; MyWorkBook.WorkSheets1.Cells1,1.Value := YourTitle;i := 2; MyWorkBook.WorkSheets1.Cellsi,1.Value := yourCaption1; MyWorkBook.WorkSheets1.Cellsi,2.Value
12、:= yourCaption2; MyWorkBook.WorkSheets1.Cellsi,3.Value := yourCaption3; MyWorkBook.WorkSheets1.Cellsi,4.Value := yourCaption4; Myworkbook.worksheets1.RangeA1:D2.Font.Color := clBlue; Myworkbook.worksheets1.RangeA1:D1.Font.Name := 隶书; Myworkbook.worksheets1.RangeA1:D1.Font.Size := 18;i := 3; table1.c
13、lose; table1.open; table1.First; while not table1.eof do begin MyWorkBook.WorkSheets1.Cellsi,1.Value := table1.FieldByName(au_id).AsString; MyWorkBook.WorkSheets1.Cellsi,2.Value := table1.FieldByName(royaltyper).AsInteger; MyWorkBook.WorkSheets1.Cellsi,3.Value := table1.FieldByName(au_ord).AsInteger
14、; MyWorkBook.WorkSheets1.Cellsi,4.Value := table1.FieldByName(title_id).AsString; Inc(i); table1.Next end; ExcelApp.Visible := true;s := A3:D+ IntToStr(i-1);/设定字体. 栏宽等 s := A1:D+ IntToStr(i-1); Myworkbook.worksheets1.Columns1.ColumnWidth := 20; Myworkbook.worksheets1.Columns4.ColumnWidth := 25; Mywo
15、rkbook.worksheets1.Rows1.RowHeight := 50; Myworkbook.worksheets1.Rows1.VerticalAlignment := $FFFFEFF4;Myworkbook.worksheets1.Ranges.Font.Name := 仿宋; s := A2:D+ IntToStr(i-1); Myworkbook.worksheets1.Ranges.Borders.LineStyle := 1; /页面设置 MyworkBook.WorkSheets1.PageSetup.CenterHorizontally := true; Myworkbook.worksheets1.pagesetup.PrintTitleRows := A1;/不能设置 papersize 属性, 原因不明 /MyworkBook.WorkSheets1.PageSetup.PaperSize := $9;try MyWorkBook.saveas(c: + Edit1.Text + .xls); MyWorkBook.close;except /当存为一个已有的文档而又不覆盖时将 MyWorkBook.close; /产生一个例外 end; ExcelApp.Quit; ExcelApp:=Un