kettle從入門到精通 第五十六課 ETL之kettle Microsoft Excel Output

1、9.4 版本的kettle中有兩個Excel輸出,Excel輸出和Microsoft Excel輸出。前者只支持xls格式,後者支持xls和xlsx兩種格式,本節課主要講解步驟Microsoft Excel輸出,如下圖所示:

 1)、步驟【生成記錄】生成兩條測試數據,每條數據裏面包含id和name字段。

 2)步驟【Microsoft Excel Output】負責將數據寫入文件。

 2、Microsoft Excel 輸出-文件&工作表配置。

1)步驟名稱:自定義步驟名稱

2)文件名稱:設置輸出文件的文件名稱,不用帶後綴

3)擴展名:文件後綴,有xls和xlsx兩種,這裏選擇xlsx。

4)Stream XSLX data:在將大型XLSX文件寫入輸出文件時,請選擇此選項。

如果您希望流式傳輸XLSX文件,請選擇此選項。選擇此複選框後,系統將使用流式傳輸API來寫入大型文件,而無需任何內存限制(不超過MS Excel的1,048,575行和16,384列的限制)。
如果您不希望流式傳輸XLSX文件,請取消選中此複選框。
只有在上面的擴展字段中選擇了“.xlsx [Excel 2007及以上]”選項時纔會出現此選項。

5)Split every ... data rows:在此字段中指定一個正數,以便每“n”行數據創建一個新的輸出文件。例如,如果您想要在每200行數據處拆分文件,則在此字段中輸入200。文件將按編號進行。填寫0則不拆分。

6)文件名包含步驟數目,文件名包含日期,文件名包含時間,指定日期時間格式,都是爲了指定文件生成的名字,如下圖所示。

 

7)如果文件已存在:兩個選擇覆蓋原文件和使用現有文件輸出,根據業務場景自行選擇使用哪種方式。

8)在接收數據前不創建文件:如果選擇了此選項,則在檢測到一行後,步驟纔會創建文件。如果取消選擇此選項,則無論是否實際向文件寫入行,輸出文件都會被創建。,根據業務場景自行選擇使用哪種方式。

9)結果中添加文件名:使用此選項將文件名添加到MS Excel輸出文件中。

10)工作表名:在MS Excel文件中指定要寫入來自PDI的輸入行的工作表名稱。此字段中可以使用變量或參數。也就是設置sheet的名稱。

11)設爲活動工作表:如果選中,則在打開Excel時,默認會打開上述工作表。我理解如果靜態設置sheet名稱之後打開文件時會自動激活該sheet,如果sheet名稱設置爲動態變量&且勾選設置活動工作表是什麼效果,大家可以試下。

 12)如果輸出文件中已存在工作表:兩個選擇覆蓋工作表和輸出至已存在工作表。根據業務場景自行選擇使用哪種方式。

13)保護工作表/保護人/密碼:只對xls文件起作用,設置文件的owner和密碼。

14)使用模版創建新文件、模版文件:可以設置模版文件,然後基於模板文件複製目標文件,最後將數據寫入。

 15)使用模板輸出文件,如下圖所示

3、Microsoft Excel 輸出-內容配置。

1)開始輸出自單元格:在MS Excel電子表格中指定要開始寫入的單元格(字母列,數字行),例如,A2,表示從從第一列第二行位置開始寫數據,第一行爲模板文件內容。

2)當輸出記錄時:兩個選項覆蓋已存在單元格和下移已有單元格。

3)輸出表頭/輸出表尾/自動調整列大小/不改變現有單元格格式:自己根據業務場景進行設置。

4)強制公式重新計算:決定是否要嘗試更新輸出文件中的所有公式字段。

當選擇此選項時,對於XLS文件格式,步驟會設置一個標記。一旦在MS Excel中打開文件,公式就會重新計算。對於XLSX文件格式,步驟本身必須嘗試重新計算公式字段。底層的POI庫不支持完整的Excel公式集,這可能會導致錯誤,如果步驟無法重新計算公式。
選擇此選項以強制步驟更新輸出文件中的所有公式字段。
清除此選項以保留公式字段並不進行更新。

5)在表的末尾開始寫(追加行):勾選的話增量方式寫入數據。

6)抵消行數:在寫入行之前,指定任何非零數字以使步驟向下移動此數量的行(正數)或向上移動(負數)。負數可能在需要追加到表中但仍保留預定義頁腳時很有用。

7)在寫入文件前添加的空行數:指定任何正數以使步驟保留此數量的空行。

當向現有表寫入時,您可能決定首先寫入一些空行。如果您要追加幾行到現有表格中,但要偏移它們以查看每個生成的行塊的邊界,則此選項很有用。

8)刪除表頭:決定在寫入現有電子表格時是否要包含標題。省略標題是有用的,如果您想要生成帶有標題的新文件,但不希望在追加到相同文件時重複標題。

9)字段設置:此處設置哪些字段寫入文件,比較簡單,不做詳細介紹。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章