我想将MySQL数据写入Excel文件。在那里,我需要为我的数据创建表格边框,同时需要合并几个列标题。
我已完成映射以将MySQL数据加载到Excel工作表中。但我不知道如何创建表格边框以及合并列标题。
下面的代码将帮助我合并单元格,但是如何将这段代码合并到我的两个talend组件之间,
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();
}
}
答案 0 :(得分:1)
您可以在组件之间使用tJavaRow。该组件允许您编写Java代码并转换数据。此组件具有输入和输出模式,您可以在其中指定此组件将采用的输入以及此组件将输出的输出。 下面的导入部分将移至tJavaRow的高级设置部分。
import java.io.*;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.hssf.usermodel.*;
import org.apache.poi.ss.util.CellRangeAddress;
您可以在BAsic Settings部分编写Java代码 您可以通过
来参考输入数据模式列input_row.column_name
and output as output_row.column_name
...(尝试使用GenerateCode选项查看input_row和output_row的工作原理)
理想情况下,对于合并/转换数据,您还可以使用tMap来合并/转换行并将数据输出到下一级