Java单元格合并实现
Java 里单元格合并,GUI 和 Excel 各有玩法。
表格视图里的单元格合并,说实话不算主流功能。JavaFX和Swing都没有原生支持,得自己动手折腾下。你可以用TableView
和TableColumn
配合,像这样拉宽列来“合并”:
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 类的,注意保存路径和权限问题。
哦对了,Table
和TableCol
这两个类名,多半是自定义封装的,注意别搞混了原生类。
如果你最近在做报表、导出功能,或者想优化一下表格展示,这套合并技巧还蛮值得参考的。
6.27KB
文件大小:
评论区