示例学习kettle之ExcelWriter步骤 ExcelWriter步骤可以向excel模板文件中填写内容的一种方法,并且可以往同一文件的不同sheet中写内容。本文通过示例详细讲解,通过一个转换生成报表。 ExcelWriter步骤是kettle4.1以上版本才有,同时我们也使用Block until s
示例学习kettle之ExcelWriter步骤
ExcelWriter步骤可以向excel模板文件中填写内容的一种方法,并且可以往同一文件的不同sheet中写内容。本文通过示例详细讲解,通过一个转换生成报表。
ExcelWriter步骤是kettle4.1以上版本才有,同时我们也使用“Block until steps finish”步骤(kettle4.1版本有),如果你使用版本是3.2或4.0,就使用自定义javasc步骤代替。本文的示例代码在这里下载。
最终导出报表文件格式
示例报表文件主要内容是6个月的销售和费用信息,包含三个sheet: “Sales Chart”sheet 包含一个图表显示每个月每个类型的销售情况。
“SourceData“sheet是需要通过kettle填入的源数据,包括一些字段、一些计算值以及饼图。
“Metadata“sheet是报表本身的一些信息,生成日期,转换的名称,在那台主机上生成的。
模板文件
模板文件除了格式,输入之前没有数据,“SourceData“sheet需要填入相应的数据,其他的字段自动计算(已经有了公式)。
“Metadata“sheet也需要填入一些信息。
使用kettle往模板文件中填入数据
分析上面模板文件,需填入数据的入口点,共有四个方面需要插入数据。
1. “SourceData“sheet上的year单元格;
2. “SourceData“sheet上的销售信息数据;
3. “SourceData“sheet上的费用信息数据;
4. “Metadata“sheet的单元格;
因为有四个地方需要输出数据,所以需要在转换定义四个Excel Writer步骤。问题是kettle的转换时并行执行的,如果四个步骤同时写一个excel文件,则会产生错误。因此需要确保按顺序执行。我们可以通过定义四个转换,然后在job中顺序调用四个转换,因为job是顺序执行的,这样就觉得不是很方便。通常不相关的数据要被填入到同一个excel文件,最好能定义在一个转换中,便于维护。本文通过另外一种方式实现顺序执行,请看下图:
确保顺序执行
转换中写excel文件需四个流程步骤,按照如下顺序:year、销售、费用以及报表元信息单元格。Excel Writer步骤需要配置写到同一个文件,即从模板文件拷贝的文件。因此,第一步(year写入步骤)配置使用模板文件并创建新的输出文件。其他的excel写入步骤只需要配置输出文件(因为已经存在了),但同时也需要选中“wait for first row before creating file”选项(在接收到数据前不创建文件),这样是确保在接收到第一个数据后才查找输出文件。
如何做到延迟,在接收到第一行数据时,前面Excel写入步骤的所有操作都执行完毕,这里就需要“Block until steps finish”阻止步骤。year写入步骤是第一个执行,所以需要配置模板文件和创建输出文件,并写入year数据。销售写步骤等待year步骤完成,费用步骤等待销售步骤完成,元信息步骤等待费用步骤。结果就像一个精密的链式步骤,彼此等待,最终完成各自数据的写入。
如果你使用3.2或4.0版本,阻止步骤无效,查看附件中相应的版本,使用javascript步骤代替。
样式问题
往模板文件中写数据,应该保留样式不要改变,所以在Excel Writer步骤的相应的选项选中。
另外工作簿中的公式需要重新计算,因为Excel版本、文件类型以及可能其他的一些情况,当打开生成的文件时不自动更新计算单元格的值,Excel写步骤可以用自动重新计算单元格公式,有相应的选项供使用,但是一些函数或命名类型暂时不被poi库支持,可能报错,尝试重新编写公式、更改xls文件类型或手工激活技术(ctrl+shift+alt+F9)。

掌握添加MySQL用戶的方法對於數據庫管理員和開發者至關重要,因為它確保數據庫的安全性和訪問控制。 1)使用CREATEUSER命令創建新用戶,2)通過GRANT命令分配權限,3)使用FLUSHPRIVILEGES確保權限生效,4)定期審計和清理用戶賬戶以維護性能和安全。

chosecharforfixed-lengthdata,varcharforvariable-lengthdata,andtextforlargetextfield.1)chariseffity forconsistent-lengthdatalikecodes.2)varcharsuitsvariable-lengthdatalikenames,ballancingflexibilitibility andperformance.3)

在MySQL中處理字符串數據類型和索引的最佳實踐包括:1)選擇合適的字符串類型,如CHAR用於固定長度,VARCHAR用於可變長度,TEXT用於大文本;2)謹慎索引,避免過度索引,針對常用查詢創建索引;3)使用前綴索引和全文索引優化長字符串搜索;4)定期監控和優化索引,保持索引小巧高效。通過這些方法,可以在讀取和寫入性能之間取得平衡,提升數據庫效率。

ToaddauserremotelytoMySQL,followthesesteps:1)ConnecttoMySQLasroot,2)Createanewuserwithremoteaccess,3)Grantnecessaryprivileges,and4)Flushprivileges.BecautiousofsecurityrisksbylimitingprivilegesandaccesstospecificIPs,ensuringstrongpasswords,andmonitori

tostorestringsefliceflicyInmySql,ChooSetherightDataTypeBasedyOrneOrneEds:1)USEcharforFixed-LengthStstringStringStringSlikeCountryCodes.2)UseVarcharforvariable-lengtthslikenames.3)USETEXTCONTENT.3)

選擇MySQL的BLOB和TEXT數據類型時,BLOB適合存儲二進制數據,TEXT適合存儲文本數據。 1)BLOB適用於圖片、音頻等二進制數據,2)TEXT適用於文章、評論等文本數據,選擇時需考慮數據性質和性能優化。

No,youshouldnotusetherootuserinMySQLforyourproduct.Instead,createspecificuserswithlimitedprivilegestoenhancesecurityandperformance:1)Createanewuserwithastrongpassword,2)Grantonlynecessarypermissionstothisuser,3)Regularlyreviewandupdateuserpermissions

mySqlStringDatatAtatPessHouldBechoseBasedondatActarActeristicsAndusecases:1)USEcharforFixed lengthStstringStringStringSlikeCountryCodes.2)usevarcharforvariable-lengtthslikeLikenames.3)usebarnionororvarinyorvarinyorvarybinarydatalgebenedaTalgeextocrabextrapon.4)


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

禪工作室 13.0.1
強大的PHP整合開發環境

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器