POI操作word表格,添加单元格,单元格对齐方法(不必合并单元格)

添加单元格,直接对row进行create新的cell,则会导致新创建的单元格与前面的单元格不对齐的现象。

java 复制代码
        //表格信息
        XWPFTable table = doc.createTable();
        table.setWidth("100%");
        //第一行
        XWPFTableRow row0=table.getRow(0);
        XWPFTableCell cell00=row0.getCell(0);
        XWPFRun run00=cell00.getParagraphs().get(0).createRun();
        run00.setFontSize(14);
        run00.setFontFamily("仿宋");
        run00.setText("一、课程基本信息");
        run00.setBold(true);

        //第二行
        XWPFTableRow row1=table.createRow();
            //第一列
        XWPFTableCell cell10=row1.getCell(0);
        XWPFRun run10=cell10.getParagraphs().get(0).createRun();
        run10.setText("课程名称");
            //第二列
        XWPFTableCell cell11=row1.createCell();
        XWPFRun run11=cell11.getParagraphs().get(0).createRun();
        run11.setText(courseInfo.getCourse_name());
            //第三列
        XWPFTableCell cell12=row1.createCell();
        XWPFRun run12=cell12.getParagraphs().get(0).createRun();
        run12.setText("任课教师");
            //第四列
        XWPFTableCell cell13=row1.createCell();
        XWPFRun run13=cell13.getParagraphs().get(0).createRun();
        run13.setText("xxx");

其实解决方式也很简单,只需要给每个单元格设置宽度所占百分比即可

java 复制代码
cell00.setWidth("100%");
cell10.setWidth("25%");
cell11.setWidth("25%");
cell12.setWidth("25%");
cell13.setWidth("25%");

完美解决,这样一来我们还能够避免使用合并单元格这样的复杂操作来添加单元格。直接添加单元格即可。

相关推荐
karry_k1 小时前
MyBatis批量insert-select踩坑:useGeneratedKeys=true 可能让PostgreSQL返回大量插入结果
java·后端
karry_k1 小时前
PostgreSQL 在 MyBatis 中执行正常 SQL 失效:一次 DELETE USING 踩坑记录
java·后端
SamDeepThinking5 小时前
从源码到代码:MyBatis-Flex 与 MyBatis-Plus 的逐项对比
java·后端·程序员
她的男孩8 小时前
Spring Boot 接 Flowable 工作流:用 3 个注解搭一个请假审批流程
java·后端·架构
荣码9 小时前
LLM结构化输出:让AI返回JSON而不是废话,我踩了4个坑
java·python
plainGeekDev11 小时前
Gson → kotlinx.serialization
android·java·kotlin
小bo波19 小时前
Java Swing 图形用户界面实验 —— 从算术练习到游戏开发的完整实践
java·课程设计·gui·游戏开发·扫雷·swing
咖啡八杯21 小时前
GoF设计模式——备忘录模式
java·后端·spring·设计模式