提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|使用教程|编辑:李显亮|2020-06-01 10:39:11.180|阅读 644 次
概述:XML是一项旨在管理结构化数据并将该数据显示为人类可读的文本文件的技术。FastReport允许以多种格式保存来自Delphi和Lazarus的文档,报告和数据。本文将讲解如何从Delphi / Lazarus将报表导出到Excel XML。
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
相关链接:
报表生成器FastReport VCL是用于在软件中集成商务智能的现代解决方案。它提供了可视化模板设计器,可以访问最受欢迎的数据源,报告引擎,预览,将过滤器导出为30多种格式,并可以部署到云,Web,电子邮件和打印中。
近日,FastReport VCL更新至v6.7,在新版本中,添加了对最新版本IDE的支持,简化了用于付款标准的条形码的创建,新增从预览窗口直接编辑RichView的功能,同时修复了多个Bug问题。欢迎下载体验。(点击下方按钮下载)
XML是一项旨在管理结构化数据并将该数据显示为人类可读的文本文件的技术。XML符合行业标准,可以被许多数据库和应用程序处理。使用XML,许多开发人员可以创建自己的自定义标签,数据结构和架构。通常,XML极大地促进了各种数据库,应用程序和组织中数据的定义,传输,验证和解释。
但是,如果微软传统上不尝试制作“拥有二十一点和单元的自己的XML”,那微软就不会成为自己。因此,Excel实际上不是使用一种(!)XML标准来存储Excel电子表格,而是一种(较旧的和更正确的)XML标准。
正如多次提到的,FastReport允许以各种格式保存来自Delphi和Lazarus的文档、报告和数据。唯一想指出的是,我们需要观察对象的对齐方式,以便生成的电子表格具有吸引力和质量。因此,Fastreport为Excel XML提供了两个不同的(!)导出过滤器。
很明显,程序员从来不会做任何“仅仅因为他想做”的事情——用户才是真正想做什么的人。那么,从用户的角度来看,当他想从应用程序获得Excel电子表格时,这两种格式有什么不同呢?
对于用户来说,这种差异与没有任何图片的rtf和成熟的MS Word文档之间的差异大致相同——第一个差异在现实生活中很少出现。在一个简单的XML文件中没有样式或图片—只有一个XML表。
FastReport工具可帮助选择将文档的哪些页面发送到Excel,某些页面或范围。 导出设置:与原始版本(WYSIWYG)更好的视觉对应,分页符和跳过页眉和页脚的连续文档。
结果:不要拆分,使用报告页面,在父级上使用打印-报告模板中的每个TrfxReportPage都对应于该书的一张纸(假设TfrxReportPage.PrintOnParent = False)或按特殊数量拆分行。导出后打开:导出后,Microsoft Excel将立即打开结果文件(或由与XLSX文件关联的任何其他软件)打开。
可以将生成的XML / XLSX保存为本地存储中带有.xml扩展名的文件,发送到FTP,通过电子邮件发送或上传到其中一个云存储(Dropbox,OneDrive,Box.com,GoogleDrive)。
比较生成的XLSX和Excel XML文件
第一个屏幕截图是保存为XLSX格式的结果,并且我们可以看到,该格式不支持比纯文本更复杂的数据。但是第二张屏幕截图向我们展示了XML格式的所有可能性,例如完全支持图像和条形码。说到文件的重量,结果是可以预料的:XLSX-48,0kB,XML-40,0kB。
让我们进一步了解为什么XLSX比XML更重要。这些美丽的鱼被作为基础。这份文件包含了大量的文本、表格数据和30张照片。为了更清楚地说明问题,让我们将其与未老化的Excel 97进行比较,我们在另一篇文章中讨论过它。
Excel 97 –它是二进制格式(biff8),没有任何压缩,因此文件很大。与后来的XML格式不同,Excel 97支持各种图像。Excel table(XML)– XLSX的早期版本,其中的数据存储为简单,单个,整体的XML文件,与OOXML和MS Office传统二进制格式相比,它们非常大。
Excel 97 –它是二进制格式(biff8),没有任何压缩,因此文件很大。与后来的XML格式不同,Excel 97支持各种图像。Excel table(XML)– XLSX的早期版本,其中的数据存储为简单,单个,整体的XML文件,与OOXML和MS Office传统二进制格式相比,它们非常大。
XLSX Excel 2007格式的有限功能和可能的限制
列数从256增加到16 384,工作表中的行数从65 536增加到1,048576。由于Excel 2007支持多个处理器和多线程芯片组,因此具有许多公式的大工作表计算得以加速。
如何直接从Delphi / Lazarus中保存到XLSX和XML Excel中
导出到XML
procedure TForm1.Button1Click(Sender: TObject); begin {Generate a report. The report must be generated before exporting} frxReport1.PrepareReport(); {Set the range of pages to export. By default, all pages of the generated report are exported} frxXMLExport1.PageNumbers := '2-3'; {Set whether to generate a continuous document which skips headers and footers. Enabling this option disables TfrxXMLExport.ExportPageBreaks} frxXMLExport1.SuppressPageHeadersFooters := True; {Set whether to export the page breaks within the sheet of the book so that when printing the pages correspond to the pages of the generated report} frxXMLExport1.ExportPageBreaks := True; {Set WYSIWYG} frxXMLExport1.Wysiwyg := True; {Set the document splitting order using Split property which can take the following values: ssNotSplit – create a continuous document; ssRPages – each sheet of the generated report corresponds to the sheet of the book; ssPrintOnPrev – each sheet of TfrxReportPage in the report template corresponds to a sheet of the book (provided that TfrxReportPage.PrintOnParent = False); ssRowsCount - each sheet will have the number of rows specified in the TfrxXMLExport.RowsCount property.} frxXMLExport1.Split := ssNotSplit; {Set whether to open the resulting file after export} frxXMLExport1.OpenAfterExport := False; {Set whether to display export progress (show which page is currently being exported)} frxXMLExport1.ShowProgress := False; {Set whether to display a dialog box with export filter settings} frxXMLExport1.ShowDialog := False; {Set the name of the resulting file.} {Please note that if you do not set the file name and disable the export filter dialog box,} {the file name selection dialog will still be displayed} frxXMLExport1.FileName := 'C:\Output\test.xls'; {Export the report} frxReport1.Export(frxXMLExport1); end;
导出到XLSX
procedure TForm1.Button2Click(Sender: TObject); begin {Generate a report. The report must be generated before exporting} frxReport1.PrepareReport(); {Set the range of pages to export. By default, all pages of the generated report are exported} frxXLSXExport1.PageNumbers := '2-3'; {Set whether to generate a continuous document which skips empty rows, headers and footers (with EmptyLines = False). With EmptyLines = True the report will be exported as it was generated. Without skipping the empty rows, headers and footers. Enabling this option disables TfrxXLSXExport.SuppressPageHeadersFooters and vice versa) frxXLSXExport1.EmptyLines := True; {Set whether to export the page breaks within the sheet of the book so that when printing the pages correspond to the pages of the generated report} frxXLSXExport1.ExportPageBreaks := True; {Set WYSIWYG} frxXLSXExport1.Wysiwyg := True; {Set whether to export only the content of data bands} frxXLSXExport1.DataOnly := False; {Set the document splitting order: with the SingleSheet option on, all pages of the document will be located on one sheet frxXLSXExport1.SingleSheet := True; If you set the value to ChunkSize, each sheet will have a specified number of rows. In this case SingleSheet should be set to False frxXLSXExport1.ChunkSize := 50; We will set the default order when each sheet of the generated report corresponds to a sheet of the book} frxXLSXExport1.SingleSheet := False; frxXLSXExport1.ChunkSize := 0; {Set whether to open the resulting file after export} frxXLSXExport1.OpenAfterExport := False; {Set whether to display export progress (show which page is currently being exported)} frxXLSXExport1.ShowProgress := False; {Set whether to display a dialog box with export filter settings} frxXLSXExport1.ShowDialog := False; {Set the name of the resulting file.} {Please note that if you do not set the file name and disable the export filter dialog box,} {the file name selection dialog will still be displayed} frxXLSXExport1.FileName := 'C:\Output\test.xlsx'; {Export the report} frxReport1.Export(frxXLSXExport1); end;
还想要更多吗?您可以点击阅读【FastReport 报表2019最新资源盘点】,查找需要的教程资源。如果您有任何疑问或需求,请随时加入FastReport技术交流群(783996712),我们很高兴为您提供查询和咨询。
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn
本文探讨 SQL Server 中 NULL 和空值之间的区别,并讨论如何有效地处理它们。
Unity 是一款功能极其丰富的游戏引擎,允许开发人员将各种媒体集成到他们的项目中。但是,它缺少最令人兴奋的功能之一 - 将 Web 内容(例如 HTML、CSS 和 JavaScript)直接渲染到 3D 场景中的纹理上的能力。在本文中,我们将介绍如何使用 DotNetBrowser 在 Unity3D 中将 Web 内容渲染为纹理。
DevExpress v24.2帮助文档正式发布上线了,请按版本按需下载~
本教程将向您展示如何用MyEclipse构建一个Web项目,欢迎下载最新版IDE体验!
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@pclwef.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢