Delphi导出Excel的设置操作
- procedure CreatRepSheet(SheetName:String;PageSize,PageLay:Integer);
- {新建Excel工作簿、进行页面设置}
- begin
- {新建Excel工作簿}
- if ExlApp.WorkBooks.Count < then
- begin
- ExlBook := ExlApp.Workbooks.Add; //ExlBook:=ExlApp.WorkBooks[1].WorkSheets[1];
- ExlApp.ActiveSheet.Name:=SheetName;
- end; {if}
- {进行页面设置}
- 以上是怎么不用空间而调用EXCEL的, 很方便的!
- //设置页面
- if PageSize= then
- ExlApp.ActiveSheet.PageSetup.PaperSize := xlPaperA3; //纸张大小: A3
- if PageSize= then
- ExlApp.ActiveSheet.PageSetup.PaperSize := xlPaperA4; //纸张大小: A4
- if PageSize= then
- ExlApp.ActiveSheet.PageSetup.PaperSize := xlPaperB5; //纸张大小: B5
- if PageLay= then
- ExlApp.ActiveSheet.PageSetup.Orientation := xlportrait; //页面放置方向:纵向
- if PageLay= then
- ExlApp.ActiveSheet.PageSetup.Orientation := xlLandscape; //页面放置方向:横向
- //设置页宽自动适应
- ExlApp.ActiveSheet.PageSetup.Zoom := False;
- ExlApp.ActiveSheet.PageSetup.FitToPagesWide := ;
- ExlApp.ActiveSheet.PageSetup.FitToPagesTall := False;
- //设置页眉、页脚(即:页标题、页号)
- ExlApp.ActiveSheet.PageSetup.RightFooter := '打印时间: ' + '&D &T';
- ExlApp.ActiveSheet.PageSetup.CenterFooter := '第&''&P&''页,共&''&N&''页';
- //设置页边距:
- ExlApp.ActiveSheet.PageSetup.TopMargin := 1.5/0.035;
- ExlApp.ActiveSheet.PageSetup.BottomMargin := 1.5/0.035;
- ExlApp.ActiveSheet.PageSetup.LeftMargin := /0.035;
- ExlApp.ActiveSheet.PageSetup.RightMargin := /0.035;
- ExlApp.ActiveSheet.PageSetup.HeaderMargin:= 0.5/0.035;
- ExlApp.ActiveSheet.PageSetup.FooterMargin := 0.5/0.035;
- //设置页面对齐方式
- ExlApp.ActiveSheet.PageSetup.CenterHorizontally := True; //页面水平居中
- //ExlApp.ActiveSheet.PageSetup.CenterVertically := True; //页面垂直居中
- //设置整体字体格式
- ExlApp.Cells.Font.Name := '宋体'; //字体
- ExlApp.Cells.Font.Size := ; //字号
- ExlApp.Cells.RowHeight := ; //行高
- ExlApp.Cells.VerticalAlignment := ; //垂直方向对齐方式:居中
- end; {CreatRepSheet}
- procedure SetAddMess(H_Mess1,H_Mess2,H_Mess3,F_Mess1,F_Mess2,F_Mess3:String);
- //用户自定义页眉、页脚(即:页标题、页号)
- begin
- ExlApp.ActiveSheet.PageSetup.LeftHeader:=H_Mess1;
- ExlApp.ActiveSheet.PageSetup.CenterHeader:=H_Mess2;
- ExlApp.ActiveSheet.PageSetup.RightHeader:=H_Mess3;
- end;{SetAddMess}
- procedure SetRepBody(x,ch:Integer;cw:Double;cf:String);
- //设置整体各列数据格式
- begin
- ExlApp.ActiveSheet.Columns[x].ColumnWidth:=cw; //列宽
- ExlApp.ActiveSheet.Columns[x].NumberFormat:=Cf; //单元格数据格式
- ExlApp.ActiveSheet.Columns[x].HorizontalAlignment:=ch; //水平方向对齐方式
- end;{SetRepBody}
- procedure CreatTitle(TitleName:String;y:Integer);
- {设置标题}
- Var
- RepSpace:String;
- begin
- CellMerge(,,,y);
- ExlApp.cells(,):=TitleName;
- RepSpace:='A1'+':'+GetRepRange(,y);
- ExlApp.Range[RepSpace].Select;
- ExlApp.Selection.NumberFormat :='G/通用格式';
- ExlApp.Selection.Font.Size:=;
- ExlApp.Selection.Font.Name:='黑体';
- ExlApp.Selection.Font.Bold:=True;
- ExlApp.Selection.HorizontalAlignment:=; //水平方向对齐方式:居中
- ExlApp.Rows[].RowHeight:=;
- end;{RepHead}
- procedure CreatSubHead(SubTitle: Array of String);
- {设置常规子表头}
- Var
- i,j:Integer;
- begin
- j:=;
- for i:=Low(SubTitle) to High(SubTitle) do
- begin
- Inc(j);
- ExlApp.cells(,j):=SubTitle[i];
- end;
- end;{CreatRepHead}
- procedure SubHeadFormat(y,r:Integer);
- {设置子表头格式}
- Var
- RepSpace:String;
- n:Integer;
- begin
- RepSpace:='A2'+':'+GetRepRange(+r,y);
- ExlApp.Range[RepSpace].Select;
- ExlApp.Selection.NumberFormat :='G/通用格式';
- ExlApp.Selection.HorizontalAlignment:=; //表头水平对齐方式:居中
- ExlApp.Selection.Font.Bold:=True;
- for n:= to r do
- begin
- ExlApp.Rows[+n].RowHeight:=;
- SetRepLine(+n,y);
- end;{for}
- end;{SubHeadFormat}
- procedure DTSubHeadGS(x,y,r:Integer);
- {设置动态子表头格式}
- Var
- RepSpace:String;
- n:Integer;
- begin
- RepSpace:=GetRepRange(x,)+':'+GetRepRange(x+r-,y);
- ExlApp.Range[RepSpace].Select;
- ExlApp.Selection.NumberFormat :='G/通用格式';
- ExlApp.Selection.HorizontalAlignment:=; //表头水平对齐方式:居中
- ExlApp.Selection.Font.Bold:=True;
- for n:= to r- do
- begin
- ExlApp.Rows[x+n].RowHeight:=;
- SetRepLine(x+n,y);
- end;{for}
- end;{DTSubHeadGS}
- procedure WriteData(RepData: String; x,y,flag:Integer); //写入数据
- {写数据}
- begin
- if flag= then
- ExlApp.cells(x,y):=StrToDate(RepData)
- else
- ExlApp.cells(x,y):=RepData;
- end;{WriteDate}
- procedure RepPageBreak(x,y,r:Integer); //X:分页处行数,Y:列数,R:子表头总共的行数
- //分页、复制表头
- Var
- RepSpace:String;
- n:Integer;
- begin
- ExlApp.ActiveSheet.Rows[x].PageBreak := ;
- RepSpace:='A1'+':'+GetRepRange(r+,y);
- ExlApp.ActiveSheet.Range[RepSpace].Copy;
- RepSpace:='A'+IntToStr(x);
- ExlApp.ActiveSheet.Range[RepSpace].PasteSpecial;
- ExlApp.Rows[x].RowHeight:=;
- for n:= to r do
- ExlApp.Rows[x+n].RowHeight:=;
- end;{RepPageBreak}
- procedure RepSaveAs(FileName:String);
- {保存为*.xls文件}
- begin
- try
- ExlBook.saveas(FileName);
- except
- MessageDlg('不能访问文件,请关闭Microsoft Excel后再运行本程序!', mtError, [mbOk], );
- end;
- end;{RepSaveAs}
- procedure RepPrivew(FileName:String);
- {预览}
- begin
- RepCreat;
- ExlApp.Visible :=True;
- try
- ExlApp.workBooks.Open(FileName);
- ExlApp.Workbooks[].WorkSheets[].PrintPreview;
- finally
- ExlApp.Quit;
- ExlApp:=Unassigned;
- //ExlApp:='';
- end;{try}
- end;{RepPrivew}
- procedure RepQuit;
- {退出Excel}
- begin
- ExlBook.Close;
- ExlApp.Quit; //退出Excel Application
- ExlApp:=Unassigned; //释放VARIANT变量
- end;{RepQuit}
- procedure RepDestroy;
- {非正常退出Excel}
- begin
- if Not VarIsEmpty(ExlApp) then
- RepQuit;
- end;{RepDestroy}
- end.
Delphi导出Excel的设置操作的更多相关文章
- [转]Delphi导出Excel的设置操作
procedure CreatRepSheet(SheetName:String;PageSize,PageLay:Integer); {新建Excel工作簿.进行页面设置} begin {新建Exc ...
- NPOI导出EXCEL 打印设置分页及打印标题
在用NPOI导出EXCEL的时候设置分页,在网上有查到用sheet1.SetRowBreak(i)方法,但一直都没有起到作用.经过研究是要设置 sheet1.FitToPage = false; 而 ...
- [转]NPOI导出EXCEL 打印设置分页及打印标题
本文转自:http://www.cnblogs.com/Gyoung/p/4483475.html 在用NPOI导出EXCEL的时候设置分页,在网上有查到用sheet1.SetRowBreak(i)方 ...
- C#+Aspose.Cells 导出Excel及设置样式 (Webform/Winform)
在项目中用到,特此记录下来,Aspose.Cells 不依赖机器装没有装EXCEL都可以导出,很方便.具体可以参考其他 http://www.aspose.com/docs/display/cells ...
- POI操作EXCEL之导出Excel(设置有效性,下拉列表引用)
本人使用的是poi-bin-3.10-FINAL-20140208.zip 版本的poi以下是程序关键代码: //需要引用的类 import java.io.File; import java.io. ...
- C#导出Excel,并且设置Excel单元格格式,合并单元格.
注:要添加COM组件 Microsoft Excel 11.0 Object Library 引用. 具体代码如下: using System; using System.Collections.G ...
- PHP导出Excel,设置表格样式,填充颜色等较为复杂样式
// 注:只是在此做下记录,有兴趣的可以参考,不做实际教程文档 <?php //引入Li类对数据进行操作include_once('./Li.php');//引入Excel类库对对数据进行操作i ...
- 利用PHPExcel导出Excel并设置Excel格式以及数据源
浏览:23969 发布日期:2013/07/24 分类:技术分享 代码有点长,读起来有点累.先来个截图 导出的Excel太宽了,所以将后面的列宽重新调整了再截的图 功能包括: 1.设置单元格格式,包括 ...
- DevExpress导出Excel样式设置
/// <summary> /// 导出到Excel /// </summary> /// <param name="gridControl"> ...
随机推荐
- 浙大数据结构课后习题 练习二 7-2 Reversing Linked List (25 分)
Given a constant K and a singly linked list L, you are supposed to reverse the links of every K elem ...
- Idea 汉化后定位和系统设置打不开到问题
百度网盘:此汉化包已经修正过,拿来直接可以用 链接:https://pan.baidu.com/s/1wm3NbYSM9Gtsdu2EHQPMIA 密码:qdr3 1.系统设置(setting)外观选 ...
- mysql innodb存储引擎 锁 事务
以下内容翻译自mysql5.6官方手册. InnoDB是一种通用存储引擎,可平衡高可靠性和高性能.在MySQL 5.6中,InnoDB是默认的MySQL存储引擎.除非已经配置了不同的默认存储引擎, ...
- C++ 编码导致编译错误
记录一个问题 平时经常用Notepad++写C++,然后g++编译 最近出现一个莫名其妙的问题 原来是编译时遇到了非法字符 用Notepad++一看,原来文件的编码出现的变化 不是UTF-8或者其他对 ...
- EF Core命令
新建 Add-Migration init Update-Database init 修改model后,执行迁移的命令 更新数据库 每次更新都要{update}修改 Add-Migration {up ...
- SessionState的几种设置
SessionState: web Form 网页是基于HTTP的,它们没有状态, 这意味着它们不知道所有的请求是否来自同一台客户端计算机,网页是受到了破坏,以及是否得到了刷新,这样就可能造成信息 ...
- OpenCV笔记(1)(图片读取与现实、色彩空间、基础运算、均值方差、逻辑运算、泛洪填充、均值中值及自定义平滑)
一.图片读取和显示 import cv2 as cv # 图片读取cv.imread(img_path) car_img = cv.imread("car1.png") # 图片显 ...
- javascript中的原型和原型链(三)
1. 图解原型链 1.1 “铁三角关系”(重点) function Person() {}; var p = new Person(); 这个图描述了构造函数,实例对象和原型三者之间的关系,是原型链的 ...
- week6 作业
week6 作业 1.每12小时备份并压缩/etc/目录至/backup目录中,保存文件名称格式为"etc-年-月-日-时-分.tar.gz" crontab -e */1 * * ...
- [LOJ3046][ZJOI2019]语言:树链的并+线段树合并
分析 问题显然可以转化为对于每个节点询问所有这个节点的所有链的链并的大小. 考场上我直接通过树剖打标记+树剖线段树维护以\(O(n \log^3 n)\)的时间复杂度暴力实现了这个过程.(使用LCT或 ...