Java单元格合并实现

Java 里单元格合并,GUI 和 Excel 各有玩法。

表格视图里的单元格合并,说实话不算主流功能。JavaFXSwing都没有原生支持,得自己动手折腾下。你可以用TableViewTableColumn配合,像这样拉宽列来“合并”:

TableColumn column = new TableColumn("Merged Column");
column.setPrefWidth(200);
样子是有了,实质还得配个CellFactory,在updateItem()里搞点定制显示。Swing 那边也差不多,靠TableCellRenderer来自定义样式。

Excel 就轻松多了,Apache POI简直就是神器。想合并单元格?一行sheet.addMergedRegion()就搞定。比如:

HSSFWorkbook workbook = new HSSFWorkbook();
HSSFSheet sheet = workbook.createSheet("Merged Sheet");
sheet.addMergedRegion(new CellRangeAddress(0, 0, 0, 2));

还可以用HSSFCellStyle设置居中对齐,视觉效果也不错。如果你平时常 Office 文件,POI 一定要学一手。

源码运行的话,看你是偏 UI 合并还是 Excel。如果是 GUI 类的,记得注意布局和渲染器;如果是 Excel 类的,注意保存路径和权限问题。

哦对了,TableTableCol这两个类名,多半是自定义封装的,注意别搞混了原生类。

如果你最近在做报表、导出功能,或者想优化一下表格展示,这套合并技巧还蛮值得参考的。

zip 文件大小:6.27KB