Delphi使用SpreadSheet
https://wenku.baidu.com/view/c03a6ff50029bd64793e2c3a.html
1、开发环境
以Delphi7为例,使用DevExpress套件中的ExpressSpreadSheet组件1.38版本进行开发设计。
2、控件安装
控件源码:
DevExpress.ExpressSpreadSheet.v1.38.for.Delphi.BCB.Full.Source-SSG.rar
这个源码在CSDN上也有,请直接点击下面的超链接自行下载:
https://download.csdn.net/download/gfarmer/3465452
请解压缩之后,按照如下控件包的顺序依次安装,并设置Delphi编译路径。
顺序 | 控件名称 | 操作 | 帮助文件 |
---|---|---|---|
1 | XP Theme Manager | 编译 | 无 |
2 | ExpressGDI+ Library | 编译 | 无 |
3 | ExpressLibrary | 编译+安装 | 有 |
4 | ExpressSpreadSheet | 编译+安装 | 有 |
其中帮助采用的还是比较原始的hlp格式,如果您的操作系统是win10/8/7等,只要出不来帮助,就请按照这个文章进行设置:
[]
3、控件使用
学习资料请参考https://blog.csdn.net/hotmee/article/category/5948851,这个大神写了几篇相关文章,不过都是C#的,需要自己研究对照。
<span style="color: red">最重要的学习资料就是控件源码路径下的帮助hlp文件,务必要详细阅读。</span>
3.1 合并单元格
varst : TcxSSBookSheet;r : TRect;
beginst := book.Pages[0];r.Left := 1; //第二列,0起始r.Top := 1; //第二行r.Right := 5; //第六列r.Bottom := 2;//第三行st.SetMergedState(r, True); //第二个参数true标识合并单元格
end;
3.2 单元格操作
varst : TcxSSBookSheet;cell1, cell2 : TcxSSCellObject;
beginst := book.Pages[0];cell1 := st.GetCellObject(0, 0); //A1cell1.Text := '1';cell1 := st.GetCellObject(1, 0); //B1cell1.Text := '2';cell1 := st.GetCellObject(2, 0); //C1cell1.SetCellText('=A1+B1', True); //公式,第二个参数默认为False,如果为True可以重新计算cell2 := st.GetCellObject(1, 1); //C2cell2.SetCellText(cell1.Text); //TEXT方式获取到的是单元格的公式cell2 := st.GetCellObject(1, 2); //C3cell2.SetCellText(cell1.CellValue); //CellValue获取的是单元格的值cell2 := st.GetCellObject(2, 2); //C3cell2.SetCellText('杨雨田');//画左右上下四条线cell2.Style.Borders.Left.Style := lsMedium;cell2.Style.Borders.Right.Style := lsThin;cell2.Style.Borders.Top.Style := lsThick;cell2.Style.Borders.Bottom.Style := lsDouble;{lsDefault, lsThin, lsMedium, lsDashed, lsDotted,lsThick, lsDouble, lsHair, lsMediumDashed, lsDashDot, lsMediumDashDot,lsDashDotDot, lsMediumDashDotDot, lsSlantedDashDot, lsNone}//设置背景色,前景色等cell2.Style.Brush.AssignInfo(fsSolid, 2, 5);//设置字体cell2.Style.Font.AssignInfo('微软雅黑', 40, [fsBold], GB2312_CHARSET, 5);//对齐cell2.Style.HorzTextAlign := haRIGHT; {haGENERAL, haLEFT, haCENTER, haRIGHT, haFILL, haJUSTIFY}cell2.Style.VertTextAlign := vaBOTTOM; {vaTOP, vaCENTER, vaBOTTOM, vaJUSTIFY}//设置行高度st.Rows.Size[0] := 120;st.Rows.Size[1] := 80;st.Rows.Size[2] := 150;//设置列宽度st.Cols.Size[0] := 120;st.Cols.Size[1] := 80;st.Cols.Size[2] := 200;
end;
3.3 加载EXCEL/保存EXCEL
beginbook.SaveToFile('e:\abc.xlsx'); //导出book.LoadFromFile('e:\abc.xlsx'); //导入
end;
3.4 删除Sheet/增加Sheet
procedure Del()
beginbook.DeleteSheet(0);
end;procedure Add()
beginbook.AddSheetPage('第一页' + FormatDateTime('yyyy-mm-dd hh:nn:ss', Now));
end;
3.5 关于打印
还没有找到好用的打印方法,暂时可以直接通过ShellExecute执行xls文件的print方法输出到打印机。
常用操作
Spreadsheet常用属性
标题栏是否可见 Spreadsheet1.TitleBar.Visible=true
标题栏背景颜色 Spreadsheet1.TitleBar.Interior.Color="Green"
标题栏标题内容 Spreadsheet1.TitleBar.Caption="test"
标题栏字体颜色 Spreadsheet1.TitleBar.Font.Color="Red"
标题栏字体名称 Spreadsheet1.TitleBar.Font.Name="Vendana"
标题栏字体大小 Spreadsheet1.TitleBar.Font.Size=10
标题栏字体是否加粗 Spreadsheet1.TitleBar.Font.Bold=true
标题栏字体是否加下划线 Spreadsheet1.TitleBar.Font.Underline=true
标题栏字体是否倾斜 Spreadsheet1.TitleBar.Font.Italic=true
选取单个单元格 Spreadsheet1.ActiveSheet.Range("A2").Select()
选取矩形区域内的所有单元格 Spreadsheet1.ActiveSheet.Range("A2:D3").Select()
单元格宽度 Spreadsheet1.ActiveSheet.Range("A2").ColumnWith=100
单元格宽度 Spreadsheet1.ActiveSheet.Range("A2").RowHeight=100
从当前位置删除指定的列数 Spreadsheet1.ActiveSheet.Range("A2").DeleteColumns(10)
从当前位置删除指定的行数 Spreadsheet1.ActiveSheet.Range("A2").DeleteRows(10)
从当前位置插入指定的列数 Spreadsheet1.ActiveSheet.Range("A2").InsertColumns(10)
从当前位置插入指定的行数 Spreadsheet1.ActiveSheet.Range("A2").InsertRows(10)
单元格框线的宽度 Spreadsheet1.ActiveSheet.Range("A2").Borders.Weight=2
单元格框线的颜色 Spreadsheet1.ActiveSheet.Range("A2").Borders.Color="Red"
单元格框线样式 Spreadsheet1.ActiveSheet.Range("A2").Borders.LineStyle=4(2~6)
对单元格赋值 Spreadsheet1.ActiveSheet.Range("A2").Value="123"
剪切/复制/粘帖单元格内容 Spreadsheet1.ActiveSheet.Range("A2").Cut(){Copy();Paste()}
粘帖指定内容到单元格 Spreadsheet1.ActiveSheet.Range("A2").ParseText("test")
单元格内容清空 Spreadsheet1.ActiveSheet.Range("A2").Clear()
单元格内执行查询 Spreadsheet1.ActiveSheet.Range("A2").Find("test")
单元格背景颜色 Spreadsheet1.ActiveSheet.Range("A2").Interior.Color="Yellow"
单元格字体颜色 Spreadsheet1.ActiveSheet.Range("A2").Font.Color="Red"
单元格字体名称 Spreadsheet1.ActiveSheet.Range("A2").Font.Name="Verdana"
单元格超链接名称 Spreadsheet1.ActiveSheet.Range("A2").Hyperlink.Name="超链接"
单元格超链接URL Spreadsheet1.ActiveSheet.Range("A2").Hyperlink.Address=“http://www.sohu.com”
单元格超链接删除 Spreadsheet1.ActiveSheet.Range("A2").Hyperlink.Delete()
单元格内文字垂直对齐方向 Spreadsheet1.ActiveSheet.Range("A2").VAlignment=1(0,1,2)
单元格内文字水平对齐方向 Spreadsheet1.ActiveSheet.Range("A2").HAlignment=2(1,2,3)
合并单元格 Spreadsheet1.ActiveSheet.Range("C3:D5").Merage
撤销合并 Spreadsheet1.ActiveSheet.Range("C3:D5").UnMerage
自动套用计算公式 Spreadsheet1.ActiveSheet.Range("B2").Formula="=SUM(C5*C6)"
单元格内容格式化 Spreadsheet1.ActiveSheet.Range("B2").NumberFormat="¥ #,##0.00;¥-#,##0.00"
保护xls文档 Spreadsheet1.ActiveSheet.Protection.Enabled=true
输出到本地并在Excel环境打开 Spreadsheet1.ActiveSheet.Export("C:\\test.xls")
自适应行高 Spreadsheet1.AutoFit=true
是否隐藏表头 Spreadsheet1.DisplayColHeaders=true
是否隐藏电子表格线 Spreadsheet1.DisplayGridlines=true
是否隐藏横向滚动条 Spreadsheet1.DisplayHorizontalScrollBar=true
是否隐藏纵向滚动条 Spreadsheet1.DisplayVerticalScrollBar=true
是否隐藏属性工具箱 Spreadsheet1.DisplayPropertyToolbox=true
是否隐藏标志表头 Spreadsheet1.DisplayRowHeaders=true
是否隐藏标题栏 Spreadsheet1.DisplayTitleBar=true
是否隐藏工具栏 Spreadsheet1.DisplayToolBar=true
刷新 Spreadsheet1.Refresh()
文字提示 Spreadsheet1.ToolTipText="test"
Delphi使用SpreadSheet相关推荐
- 1000多个谷歌广告应该排除的关键词:全面清单
如果你已经接触谷歌广告有一段时间了,那么你肯定会对否定词很熟悉. 因为通过排除否定关键词Negative Keywords,可以让你省下很多不必要的支出,也能提高广告质量进而提升排名. 这篇文章我为大 ...
- delphi下的MVC架构-eMVC
Easy MVC开发人员指南 翻译:丁士锋 东莞虎门镇居岐 1.Introduction 1.1 What's Easy MVC Easy MVC or eMVC是一个轻量级MVC框架,为Delphi ...
- 一些Delphi 控件下载地址备份 2011.12.15
1 DevExpress VCL v56 Full source Includes VCL components for: data entry, charting, data analysis, n ...
- delphi XE应用Restful时Rest组件的delphi XE ContentType即delphi XE mime type怎样获取和表达
delphi XE应用Restful时Rest组件的delphi XE ContentType即delphi XE mime type怎样获取和表达 一.uses REST.Types; //var ...
- Delphi 之Copyrect的使用
http://cqujsjcyj.iteye.com/blog/380970 Copyrect的使用(图片复制.放大.以及做图片放大镜等) 一.从一个选取一个区域中的图象到另一个图象组件中的固定区域 ...
- delphi 10 seattle 中 解决IOS 9 限制使用HTTP 服务问题
IOS 9 于17号早上正式开始推送,早上起来立马安装,这次升级包只有1G, 安装空间也大大降低(想起IOS 8 升级时,几乎把手机里面的东西删光了,满眼都是泪). 虽然安装后,网上几乎是铺天盖地的吐 ...
- 奇淫怪巧之给Delphi的PrintDialog增加一个页码选定范围打印的Edit
在Delphi中使用PrintDialog打印对话框的时候,这个控件有三个选项,就是PrintRang那个属性的三个选项,其中有一个选项三,让我们自定义选择页码范围来打印.但是比较蛋疼的是,这个地方选 ...
- DELPHI 中 Window 消息大全使用详解
Window 消息大全使用详解 导读: Delphi是Borland公司的一种面向对象的可视化软件开发工具. Delphi集中了Visual C++和Visual Basic两者的优点:容易上手.功能 ...
- [原]SSL 开发简述(Delphi)
一. 简介 现在网上有关SSL的资料较多的是基于VC开发,Delphi的SSL开发资源很少. 本文主要使用OpenSSL为基础,讲述SSL的有关开发流程.OpenSSL功能非常丰 ...
最新文章
- 【C++】【十一】二叉树递归遍历与非递归遍历的实现及思路
- 像数据分析一样写 Web 页面,这个 Python 库做到了!
- Spring Framework Reference Documentation手册官网下载地址
- jquery点击缩略图切换视频播放的视频切换焦点图效果
- 跟我一起学.NetCore之MVC过滤器,这篇看完走路可以仰着头走
- php观察者模式和注册数模式,PHP观察者模式
- Myeclipse修改设置Default VM Arguments
- 华为海外版操作系统曝光?HUAWEI ARK OS现身
- 【jvm】java jvm 报错 OutOfMemoryError: GC overhead limit exceeded
- 中小学教师计算机应用,关于中小学教师计算机应用教育的思考
- web安全day27:linux下调整文件及目录权限
- (MATLAB源代码)SVM多分类
- transformer学习之残差网络
- css实现图片虚化_css怎么虚化背景图片?css虚化背景图片的方法介绍
- CG-62 压电式雨量传感器
- 数据分析pandas使用
- python博客下载本地文件_Linux CentOS6安装Git、Node.js及Hexo静态博客安装和使用方法...
- 期货反向跟单--仍然逃不过二八定律
- HBase 2.0.0 META 数据修复工具
- JAVA进阶案例 TCP编程之网络聊天工具(服务端)
热门文章
- 数据结构之病毒感染检测问题
- SAP MM 采购申请列表选择条件说明
- IDEA免费教育申请(不需要教育邮箱,只要你是学生!!!)
- 计算机组成.机器需要控制.控制器CU
- 服务器个别目录下不能新建文件夹,域服务器不能创建sysvol和netlogon共享文件夹...
- fatal: Couldn't find remote ref refs/heads/cm-13.0
- 默纳克调试说明书_默纳克NICE3000调试使用说明(修改版)
- 四川大学计算机专业调剂,四川大学计算机学院(软件学院)2019考研调剂信息...
- 小白都能懂的设计模式 java版 抽象工厂模式 实战练习(超详细)
- DocSearcher:文档搜索引擎