使用Talend ETL合并Excel单元格

我想写一个MySQL数据到Excel文件。 在这一点上,我需要为我的数据创build表格边框以及合并less数列标题。

我已经完成了将MySQL数据加载到Excel表格的映射。 但我不知道如何创build表格边框以及合并列标题。

下面的代码将帮助我合并单元格,但是如何将这些代码合并到我的两个单元之间,

tMySQLInput – > tFileOutputExcel


import java.io. *;

import org.apache.poi.ss.usermodel。*;

import org.apache.poi.hssf.usermodel。*;

import org.apache.poi.ss.util.CellRangeAddress;

公共类MergeCellsAcrossColumns {

public static void main(String[] args) throws Exception{ /* Create Workbook and Worksheet */ HSSFWorkbook my_workbook = new HSSFWorkbook(); HSSFSheet my_sheet = my_workbook.createSheet("Merge Cells"); Row row = my_sheet.createRow((short) 1); Cell cell = row.createCell((short) 1); cell.setCellValue("Merge Data with Apache POI"); my_sheet.addMergedRegion(new CellRangeAddress( 1, // mention first row here 1, //mention last row here, it is 1 as we are doing a column wise merging 1, //mention first column of merging 5 //mention last column to include in merge )); /* Write changes to the workbook */ FileOutputStream out = new FileOutputStream(new File("C:\\Merge_Across_Columns.xls")); my_workbook.write(out); out.close(); } 

}

你可以在你的组件之间使用tJavaRow。 这个组件允许你编写java代码和转换数据。 此组件具有input和输出模式,您可以在其中指定此组件将要执行的input并输出此组件。 下面的导入部分将移动到tJavaRow的高级设置部分。

 import java.io.*; import org.apache.poi.ss.usermodel.*; import org.apache.poi.hssf.usermodel.*; import org.apache.poi.ss.util.CellRangeAddress; 

你可以在你的引用input数据模式列的BAsic Settings部分编写你的java代码

 input_row.column_name and output as output_row.column_name 

…(尝试使用用户GenerateCode选项来查看input_row和output_row是如何工作的)

理想情况下,合并/转换数据也可以使用tMap,它可以合并/转换行并将数据输出到下一级