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

慕容尘轩發表於2024-05-05

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)欄位設定:此處設定哪些欄位寫入檔案,比較簡單,不做詳細介紹。

相關文章