可視化報(bào)告生成器FastReport VCL功能指南:從Delphi/C ++ Builder/Lazarus應(yīng)用程序創(chuàng)建CSV格式的文件
報(bào)表生成器FastReport VCL是用于在軟件中集成商務(wù)智能的現(xiàn)代解決方案。它提供了可視化模板設(shè)計(jì)器,可以訪問(wèn)最受歡迎的數(shù)據(jù)源,報(bào)告引擎,預(yù)覽,將過(guò)濾器導(dǎo)出為30多種格式,并可以部署到云,Web,電子郵件和打印中。
近日,F(xiàn)astReport VCL更新至v6.7,在新版本中,添加了對(duì)最新版本IDE的支持,簡(jiǎn)化了用于付款標(biāo)準(zhǔn)的條形碼的創(chuàng)建,新增從預(yù)覽窗口直接編輯RichView的功能,同時(shí)修復(fù)了多個(gè)Bug問(wèn)題。歡迎下載體驗(yàn)。(點(diǎn)擊下方按鈕下載)
CSV文件(逗號(hào)分隔值)是您可以在Excel中創(chuàng)建、讀取和編輯的特殊類型的文件。這種格式是文本格式,旨在提供表格數(shù)據(jù)。在CSV文檔中,數(shù)據(jù)字段用逗號(hào)分隔,而不是列(英文版本的逗號(hào)或俄語(yǔ)版本的分號(hào))。以這種格式保存的文本和數(shù)字可以很容易地從一個(gè)軟件轉(zhuǎn)移到另一個(gè)軟件。
文本編輯器可以讀取CSV文件,此類編輯器的列表包括用于處理文本和表的大多數(shù)程序。Microsoft Excel或Corel WordPerfect Office等程序可以打開CSV格式的文件,也可以通過(guò)LibreOffice、Apache OpenOffice等實(shí)用工具打開這個(gè)文件。
在Excel中打開文檔時(shí),主要任務(wù)(問(wèn)題)是選擇保存文件時(shí)使用的編碼方法。如果選擇了錯(cuò)誤的編碼,用戶很可能會(huì)看到大量不可讀的字符。此外,分隔符也是非常重要的。例如,如果將文檔保存為英文版本,然后嘗試打開俄文版本,則顯示的信息質(zhì)量會(huì)受到影響。這是因?yàn)楦舭濉?/span>
從Delphi應(yīng)用程序創(chuàng)建CSV格式文件的最簡(jiǎn)單和最明顯的方法就是在StringGrid中迭代單元格,將它們的內(nèi)容寫入文件,并記住使用分隔符。不要忘記選擇正確的編碼方法。無(wú)論如何,F(xiàn)astReport可以從Lazarus和Delphi應(yīng)用程序中創(chuàng)建CSV文件——更好更方便。不僅來(lái)自StringGrid對(duì)象。
如何生成“以生成的表格格式”顯示的報(bào)告?1、沒(méi)有交叉點(diǎn)或單元重疊!是的,F(xiàn)astReport設(shè)計(jì)器允許將對(duì)象放置在彼此的頂部,從而部分重疊,但是當(dāng)使用特殊算法跟蹤對(duì)象的交點(diǎn)及其最優(yōu)值時(shí),表導(dǎo)出工具將這些要求考慮在內(nèi),當(dāng)將對(duì)象從FastReport報(bào)表傳輸?shù)缴傻谋砦募r(shí)位置。在對(duì)象的相交處,新的列和行將出現(xiàn)在結(jié)果表中。這對(duì)于維護(hù)從FastReport導(dǎo)出的對(duì)象的精確位置是必需的。
2、使用文本對(duì)象網(wǎng)格和引導(dǎo)對(duì)齊工具避免單元重疊。確保網(wǎng)格對(duì)齊已打開。您可以增加網(wǎng)格間距以使對(duì)齊更容易。
3、在報(bào)表中創(chuàng)建表時(shí),請(qǐng)確保相鄰單元格的邊界彼此接觸。細(xì)胞不重疊是很重要的。導(dǎo)出過(guò)濾器算法將剪切單元格,但導(dǎo)出結(jié)果可能與您想要的結(jié)果相差甚遠(yuǎn)(您將無(wú)法完全看到所需的內(nèi)容)。
4、排列對(duì)象,使它們?cè)诖怪焙退椒较蛏隙荚谕恍猩稀?
在以.csv格式保存之前,您應(yīng)該已經(jīng)具有一個(gè)來(lái)自FastReport面板的帶有“導(dǎo)出到CSV文件”組件的已編譯項(xiàng)目。該報(bào)告也應(yīng)生成(關(guān)于生成報(bào)告,我們還有單獨(dú)的文章)。再次,是的,您可以使用應(yīng)用程序和數(shù)據(jù)庫(kù)的內(nèi)部源作為報(bào)告(因此也用于CSV)的數(shù)據(jù)源。任何。啟動(dòng)并保存在預(yù)覽中,就像在教科書中一樣。然后從預(yù)覽窗口調(diào)用導(dǎo)出(在本文結(jié)尾處,有一種使用代碼進(jìn)行導(dǎo)出的方法)。設(shè)置窗口應(yīng)出現(xiàn):

FastReport工具使您可以選擇將文檔的哪些頁(yè)面發(fā)送到Excel,某些頁(yè)面或范圍。 導(dǎo)出屬性:根據(jù)需要,是否使用OEM代碼頁(yè)(默認(rèn)設(shè)置為Windows編碼)和分隔符(默認(rèn)為“;”)。
與往常一樣,您可以指定保存CSV文件的位置(在本地存儲(chǔ)中,發(fā)送到電子郵件,上傳到FTP或云)。 導(dǎo)出后打開:導(dǎo)出后將立即打開結(jié)果文件。
使用代碼以.csv格式保存
procedure TForm1.Button8Click(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} frxCSVExport1.PageNumbers := '2-3'; {Set whether to export the text in OEM or Windows encoding} frxCSVExport1.OEMCodepage := False; {Set the Separator} frxCSVExport1.Separator := ';'; {Set whether to open the resulting file after export} frxCSVExport1.OpenAfterExport := False; {Set whether to display export progress (show which page is currently being exported)} frxCSVExport1.ShowProgress := False; {Set whether to display the export filter settings dialog box} frxCSVExport1.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} frxCSVExport1.FileName := 'C:\Output\test.csv'; {Export the report} frxReport1.Export(frxCSVExport1); end;
如您所見,它比從網(wǎng)格中導(dǎo)出到CSV還要容易!
還想要更多嗎?您可以點(diǎn)擊閱讀【FastReport 報(bào)表2019最新資源盤點(diǎn)】,查找需要的教程資源。如果您有任何疑問(wèn)或需求,請(qǐng)隨時(shí)加入FastReport技術(shù)交流群(783996712),我們很高興為您提供查詢和咨詢。