精华内容
下载资源
问答
  • word表格一列变多列
    千次阅读
    2021-07-27 08:12:05

    c005419752f49d4fee1ea8e7b7d9260c.png

    要怎样在Word的表格中增加一列

    Word表格中:将光标定位在表格最后一行右端(表格外)的回车符处,按回车键即在表格最后增加一行。

    事实上,在表格的任何位置处增加一行,只要将光标定位在该行表格外的回车符处,按回车键即可在回车符下增加一行。

    试试,必有所获!

    在WORD里如何整齐地插入一列?在WORD里做了一个表格,想在其

    将word里面的表格增加行或列,可按以下步骤操作:1、在表格下方单击鼠标左键,确定添加行或列的位置2、单击word工具栏中的表格3、在弹出菜单中单击“插入”,然后在下级菜单中点击“表格”4、根据需要点击“列数”和“行数”的上下箭头,设置相关参数,然后单击“确定”5、添加完成。

    ...

    如何在word表格里再添加一个表格

    方法一:1、需要添加几行,就选中表格几行;2、单击表格工具布局----在上方(或下方)插入按钮即可。

    方法二:光标放在表格的最后一列的回车符那里(表格外面)按回车,即可在表格的下面添加一行,重复上面的操作,可以在表格的下面添加多行。

    方法三:将光标放在表格的最后一个单元格中,按Tab键即可在表格的下面添加一行,重复上面的操作,可以在表格的下面添加多行。

    如何在WORD中新增加一列表格?

    插入点定位在单元格中,单击“表格→绘制斜线表头”命令,出现对话框,单击“表头样式”下拉菜单选择一种样式(共有5种可选择),分别填入“行标 题”(右上角的项目)、“列标题”(左下角的项目)和“数据标题”(中间格的项目)以及“字体大小”等,最后单击“确定”退出。

    删除斜线表头的方法是,单 击要删除的斜线表头,当周围出现选定标记时,按Del键即可删除该斜线表头。

    自由修改斜线表头 斜线表头绘制好后,如果改变字号,或者调整斜线位置,斜线表头便出现诸如字与字互相叠压或线条移动等不匹配的情况,往往令许多人感到束手无策。

    其实,我们可利用Word的绘图功能加以调整,具体作法是: 1.选中该表头(其实表格斜线是由线条组合在一起的图形),使之周围出现8个控点; 2.在“绘图工具栏”上单击“绘图”按钮,在弹出的菜单中选择“取消组合”命令,并在斜线表头所在的单元格之外的区域单击(即取消选定状态); 3.这时表头中的线条和文字(其实是文本框)均成为独立可调整状态,我们可以任意调整表头的线条和每一个文字的位置,直到满意为止; 4.按Shift键,依次选择每个线条和每个文字块; 5.再次在“绘图工具栏”上单击“绘图”按钮,选择“组合”。

    在上面第三步中,你还可能遇到另一种令人头疼的事情:那就是虽然可独立移动斜线位置,但就是移动不到准确的位置,或者说误差非常大。

    这时,你可尝试如下的步骤: 1.选中该表头; 2.在“绘图工具栏”上单击“绘图”按钮,选择“绘图网格”,弹出“绘图网格”对话框(图2); 图2 3.在“绘图网格”对话框中将“水平间距”和“垂直间距”均调整成最小值,然后单击“确定”,表头中的内容便可任意调整大小、位置了。

    1.4.3 把文字转换成表格 选中需要转换的文字,单击“表格→转换→文本转换成表格”命令,设置好需要转换的列数、行数和套用的格式,在“文字分隔位置”中选中文字分隔符(图3),按“确定”按钮就可以把文字转换成表格。

    图3 1.4.4 把表格转换成文字 选中表格,单击“表格→转换→表格转换成文本”命令,在打开的对话框中选好文字分隔符(图4),单击“确定”按钮即可。

    图4 1.4.5 快速选定整张表格 按“Alt+5(数字键盘上的数字,且Num Lock键处于关闭状态)”,就可以快速选定整张表格。

    1.4.6 随心所欲调整单元格中的文字对齐方式 对于单元格中的文字,你可以随意调整它的位置,上、下、左、右、中间任意设定,设置的方法是:在单元格中右键单击,弹出快捷菜单,在“单元格对齐”子菜单中单击相应的命令即可,共有9种设定可供选择。

    1.4.7 更方便地调整表格的位置 这是在Word中重新定位表格的一个捷径。

    单击“视图→页面”命令,转换到页面视图模式,在页面视图中,把鼠标指针放在表格的左上角直到出现移动柄(框中有一个4个头的箭头),点击移动柄,用它把表格拖动到一个新位置。

    1.4.8 整体缩放表格 将光标停留在表格内部,直到表格尺寸控点(一个小“口”)出现在表格右下角,将鼠标移至表格尺寸控点上,待向左倾斜的双向箭头出现,沿需要的方向拖动即可整体缩放表格。

    1.4.9 使你的列标题可见 当你在Word中创建一个表格时,你可以利用列标题来描述每一列是什么信息。

    但如果表格很长,超过一页时,第一页后面的页列标题将看不到,这样你很难分辨每一列的主题是什么。

    这里将介绍一种使标题可见的技巧: 选择表格的第一行或多行,单击“表格→标题行重复”命令,现在,Word能够自动在后续页的顶端重复表格的标题。

    注意:只有在自动分页时,Word才能够自动重复表格标题,如果你手工插入分页符,表格标题将不会重复。

    而且,重复的表格标题只要在打印预览视图或当你打印文档时才可见。

    1.4.10 用键盘建立表格 你想过只需简单地输入一连串+号和-号,就可以在Word中创建表格吗?下面就是具体的操作方法: 利用一个+号开始一行,然后不停输入-号,直至达到合适的列宽度。

    要想添加一个新列,再次输入+号。

    在输入最后一个+号后按下回车。

    Word将把文本转换为表格。

    要想向表格添加更多的行,移到表格的最后一个单元格并按下Tab键。

    注意:如果这一技巧不起作用,那么你需要打开Word中的自动套用格式特性。

    单击“工具→自动更正”命令,然后单击“键入时自动套用格式”选项卡并选中“表格”复选框。

    1.4.11 给表格增加行 用鼠标点中表格中的最后一个单元,然后按Tab键,即可在表格末端增加一行。

    1.4.12 快速给单元格编号 选定需要进行编号的行或列后,单击工具栏中的“编号”或“项目符号”按钮就可以自动对单元格逐项进行编号,这种方法不但对单个的行或列起作用,对整个表格也可以使用。

    1.4.13 对齐单元格中的内容 选中要对齐内容的行或列,然后右键单击,在弹出的“单元格对齐方式”菜单中选择相应的方式即可。

    1.4.14 快速插入一行 将光标移到表格右侧换行符前按回车键可在下一行插入一行。

    1.4.15 快速插入多行(列) 选定多行(列)后再右键单击,选择“插入行(列)”命令,即可一次插入多行或多列。

    1.4.16 在表格顶端加空行 要在表格顶端加一个非表格的空白...

    怎样给word中的表格增加递增序号

    1先看一下要添加序号的表格。

    2编辑编号样式。

    调出菜单【格式—项目符号和编号】,在选项卡中选择编号,随便点击一种样式,点击“自定义”按钮,按下图填信息,填好后点击确定。

    3选择编号样式。

    选中下图选择的样式,点击确定。

    4自动序号已经加好。

    5下面我们需要把序号左对齐显示,选中序号列。

    :6编辑段落样式。

    选择菜单【格式—段落】,点击“制表位”按钮(红线框)。

    7在弹出的窗口中,先点击“全部清除”,然后在默认制表位中输入“0”,如下图所示。

    点击确定。

    8实现左对齐。

    9如果想序号居中对齐,只要选择序号,点击工具栏中的居中即可。

    更多相关内容
  • 易语言自动添加WORD表格源码
  • 如何插入公式以求和Word表格一列或一行?您可能知道如何在Excel中求和或计算数据,但是您知道如何对Word文档中的表的列或行中的数据求和吗? 让我们谈谈在Word中计算表中数据的方法。在Word中对表的列求和惊人!...

    如何插入公式以求和Word中表格的一列或一行?

    您可能知道如何在Excel中求和或计算数据,但是您知道如何对Word文档中的表的列或行中的数据求和吗? 让我们谈谈在Word中计算表中数据的方法。

    dbda1e26e7ad493a4f5419acf281fdaf.png在Word中对表的列求和

    c4a1c3fc12e25082c53069a49e8a799d.png

    惊人! 在Word(Office)中使用高效选项卡,例如Chrome,Firefox和New Internet Explorer!

    163bbb670aa05e38ac7bbf11049f1ac3.gif

    如果要汇总如下所示表格的列数据,可以执行以下步骤:

    dc29f120cbe1c644022d0d962092eb1b.png

    步骤1.将光标放在第一列的空白单元格上,然后单击 布局 > 公式,请参见屏幕截图:

    94e6972c8f90bd775352ffb5921b8bec.png

    步骤2.将显示一个名为Formula的对话框,键入 = SUM(以上) 在 公式 文本框。 看截图:

    fa9d1dbd41add5a1bee19f2e24f2ebe2.png

    步骤3。 点击 OK。 然后将以上数据加在一起,结果显示在空白单元格中。 看截图:

    53c807ba29d403183a778db686b96a95.png

    提示: 要汇总空白单元格下方的相同列数据,请输入 = SUM(以下) 在公式 文本框。

    dbda1e26e7ad493a4f5419acf281fdaf.png在Word中求和表的一行

    如果要对Word文档中的表的行求和,请执行以下操作:

    步骤1.将光标放在第一行的空白单元格上,然后单击 布局 > 公式,请参见屏幕截图:

    94e6972c8f90bd775352ffb5921b8bec.png

    步骤2.名为的对话框 公式 显示,键入 = SUM(左) 在公式文本框中。 看截图:

    160aa4d0a857442b8935edb02a28e50e.png

    步骤3。 点击 OK。 然后将第一行的所有剩余数据相加,结果显示在空白单元格中。 看截图:

    c9dc0bd21407d1cfe8fb67f6d1b0e1dd.png

    提示:要对空白单元格右侧的相同行数据求和,请输入 = SUM(右) 在“公式”文本框中。

    dbda1e26e7ad493a4f5419acf281fdaf.png在Word中的表中进行其他计算

    在Word中,您可以在表中进行其他计算,例如平均值,产量等。

    步骤1.单击要显示计算结果的空白单元格,然后单击 布局 > 公式.

    94e6972c8f90bd775352ffb5921b8bec.png

    步骤2.名为的对话框 公式 显示,键入“ =” 在公式文本框中,然后从粘贴功能列表中选择要应用的功能。 在这种情况下,我选择 最大工作温度。 查看屏幕截图:

    4f28ad207ae7190aa1765b89b545f740.png

    b4e9966597ff93098e231a69b84b3ba4.png

    3b2fb696e7cfa03c78d05e9986898749.png

    第3步。 公式 文本框,请执行以下操作:

    键入上方以计算空白单元格上方的所有数据。

    键入下面以计算空白单元格下面的所有数据。

    键入LEFT以计算空白单元格左侧的所有数据。

    键入RIGHT以计算空白单元格右侧的所有数据。

    在这种情况下,我打字 左,请参见屏幕截图:

    4a8f7f40e3c037d657a5c8f7ba8d2bea.png

    步骤4。 点击 OK,您可以看到如下所示的结果:

    4954b5e828a9ab30c73121ad5d4066af.png

    相关文章:

    推荐的Word生产力工具

    9e4c69c622ec42a18fd82758cfc25e63.png

    90878d8fbdb532edfe262d447593f80b.png

    复杂和重复的操作可以在几秒钟内完成一次处理。

    跨文件夹一次将多个图像插入Word文档。

    将文件夹中的多个Word文件合并并合并为所需顺序。

    根据标题,分节符或其他条件将当前文档拆分为单独的文档。

    在Doc和Docx之间,Docx和PDF之间转换文件,用于常见转换和选择的工具集合等...

    展开全文
  • 本文将对如何在Java程序中操作Word表格作进一步介绍。操作要点包括 如何在Word中创建嵌套表格、 对已有表格添加行或者 复制已有表格中的指定行或者 对跨页的表格可设置是否禁止跨页断行 创建表格,包括添加...

    本文将对如何在Java程序中操作Word表格作进一步介绍。操作要点包括

    • 如何在Word中创建嵌套表格、
    • 对已有表格添加行或者列
    • 复制已有表格中的指定行或者列
    • 对跨页的表格可设置是否禁止跨页断行

    创建表格,包括添加数据、插入表格、合并单元格、设置表格样式、单元格居中、单元格背景色,单元格字体样式等设置


    使用工具:Free Spire.Doc for Java (免费版)

    Jar文件可通过官网下载ja文件包,下载后,解压文件,将lib文件夹下的Spire.Doc.jar导入Java程序;也可以在maven项目中通过maven仓库安装导入。


    【添加Word嵌套表格】

    import com.spire.doc.*; import com.spire.doc.documents.*; import com.spire.doc.fields.TextRange; public class NestedTable { public static void main(String[]args){ //加载测试文档
            Document doc = new Document("sample.docx"); //获取指定表格中的单元格,并设置行高、列宽
    Section sec = doc.getSections().get(0);
            Table table = sec.getTables().get(0);
            table.getRows().get(0).setHeight(120f);
            table.getRows().get(0).getCells().get(0).setWidth(380); //添加嵌套表格到指定单元格
            Table nestedtable = table.get(0,0).addTable(true);
            nestedtable.getTableFormat().setHorizontalAlignment(RowAlignment.Center);//设置嵌套表格在单元格中的对齐方式
            nestedtable.resetCells(4,4);//指定嵌套表格行数、列数
            nestedtable.autoFit(AutoFitBehaviorType.Auto_Fit_To_Contents);//设置嵌套表格内容自适应方法 //声明表格数组内容
            String[][] data ={ new String[]{"编号","产区","最新型号","生产日期",}, new String[]{"1","A","V2.2.0","2019-06-21"}, new String[]{"2","B","V2.6.1","2019-06-18"}, new String[]{"3","C","V2.6.2","2019-06-14"},
            }; //填充数组内容到嵌套表格
            for (int i = 0; i < data.length; i++) {
                TableRow dataRow = nestedtable.getRows().get(i);
                dataRow.getCells().get(i).setWidth(160);
                dataRow.setHeight(25);
                dataRow.setHeightType(TableRowHeightType.Exactly); for (int j = 0; j < data[i].length; j++) {
                    dataRow.getCells().get(j).getCellFormat().setVerticalAlignment(VerticalAlignment.Middle);
                    TextRange range = dataRow.getCells().get(j).addParagraph().appendText(data[i][j]);
                    range.getCharacterFormat().setFontName("楷体");
                    range.getCharacterFormat().setFontSize(11f);
                    range.getOwnerParagraph().getFormat().setHorizontalAlignment(HorizontalAlignment.Center);
                }
            } //保存文档
            doc.saveToFile("nesedtable1.docx",FileFormat.Docx_2010);
        }
    }
    

    嵌套表格效果:

    [图片上传失败...(image-14d280-1650531801135)]

    【在Word表格中添加行或者列】

    1. 添加行

    import com.spire.doc.*; public class AddRow { public static void main(String[] args){ //加载测试文档
            Document doc = new Document();
            doc.loadFromFile("sample.docx"); //获取表格
            Section section = doc.getSections().get(0);
            Table table = section.getTables().get(0);
    
            table.addRow();//默认在表格最下方插入一行 //table.getRows().insert(2,table.addRow());//在表格中第3行插入一行 //table.addRow(4);//默认在表格最下方添加4个单元格 //table.addRow(true,2);//带格式在最后一行添加2个单元格 //table.addRow(false,2);//不带格式在最后一行添加2个单元格
    
     //保存文档
            doc.saveToFile("addrow.docx",FileFormat.Docx_2013);
            doc.dispose();
        }
    }
    

    表格行添加效果:

    [图片上传失败...(image-c29a40-1650531801135)]

    ** 2. 添加列**

    import com.spire.doc.*; import com.spire.doc.documents.BorderStyle; import java.awt.*; public class AddColumn { public static void main(String[] args){ //加载测试文档
            Document doc = new Document();
            doc.loadFromFile("sample.docx"); //获取表格
            Section section = doc.getSections().get(0);
            Table table = section.getTables().get(0); //获取表格单元格宽度及类型
            float width = table.get(0,0).getWidth();
            CellWidthType type = table.get(0,0).getCellWidthType(); //遍历表格每一行
            for (int i = 0; i < table.getRows().getCount(); i++) {
                TableRow row = table.getRows().get(i);//获取表格每一行
                Color color = row.getCells().get(0).getCellFormat().getBackColor();//获取表格单元格背景色 //基于表格每行,在最后添加一个单元格,并设置单元格格式
                TableCell cell = row.addCell(true);//默认在最后一列添加单元格
     cell.setWidth(width);
                cell.setCellWidthType(type);
                cell.getCellFormat().getBorders().setBorderType(BorderStyle.Single);
                cell.getCellFormat().setBackColor(color); //如需在指定位置插入列,基于以上代码并增加下面一行代码即可 //row.getCells().insert(2,cell);//插入一列作为第三列
     } //保存文档
            doc.saveToFile("addcolumn.docx", FileFormat.Docx_2013);
            doc.dispose();
        }
    }
    

    表格列添加效果:

    [图片上传失败...(image-cbaeef-1650531801135)]

    【复制Word表格中的行或者列】

    1. 复制行

    import com.spire.doc.*; public class CopyRow { public static void main(String[] args) { //加载测试文档
            Document doc = new Document();
            doc.loadFromFile("test.docx"); //获取表格
            Section section = doc.getSections().get(0);
            Table table =section.getTables().get(0); //复制第三行,并将复制后的行插入到表格作为第五行
            TableRow row = table.getRows().get(2).deepClone();
            table.getRows().insert(4,row); //保存文档
            doc.saveToFile("CopyRow.docx",FileFormat.Docx_2013);
            doc.dispose();
        }
    }
    

    表格行复制效果:

    [图片上传失败...(image-5d89c8-1650531801134)]

    2. 复制列

    import com.spire.doc.*; public class CopyColumn { public static void main(String[] args) { //加载测试文档
            Document doc = new Document();
            doc.loadFromFile("test.docx"); //获取表格
            Section section = doc.getSections().get(0);
            Table table =section.getTables().get(0); //遍历表格每行
            for (int i = 0; i < table.getRows().getCount(); i++) { //复制表格中每行的最后一个单元格,复制
                TableRow row = table.getRows().get(i);
                TableCell cell = (TableCell) row.getCells().getLastItem().deepClone(); //row.getCells().add(cell);//默认在每行最后添加复制后的单元格
                row.getCells().insert(2,cell);//在指定位置插入复制后的单元格
     } //保存文档
            doc.saveToFile("CopyColumn1.docx",FileFormat.Docx_2013);
            doc.dispose();
        }
    }
    

    表格列复制效果:

    [图片上传失败...(image-283feb-1650531801134)]

    【设置Word表格是否禁止跨页断行】

    这里通过两种方式来设置防止表格跨页出现断行的效果,供参考。

    1. 设置属性禁止跨页断行

    import com.spire.doc.*; public class PreventPagebreak { public static void main(String[]args){ //加载测试文档
            Document doc= new Document("test.docx"); //获取表格
            Table table = doc.getSections().get(0).getTables().get(0); //设置表格是否分页断行
            table.getTableFormat().isBreakAcrossPages(false); //保存文档
            doc.saveToFile("result.docx",FileFormat.Docx_2013);
        }
    }
    

    ** 2. 保持表格内容在同一页面**

    import com.spire.doc.*; import com.spire.doc.documents.Paragraph; public class PreventPagebreak { public static void main(String[]args){ //加载测试文档
            Document doc= new Document("test.docx"); //获取表格
            Table table = doc.getSections().get(0).getTables().get(0); //遍历表格单元格
            for (int i = 0;i< table.getRows().getCount();i++) {
                TableRow rows = table.getRows().get(i); for (int j = 0; j< rows.getCells().getCount(); j++){ for (int z= 0; z < rows.getCells().get(j).getParagraphs().getCount();z++){
                        Paragraph p = rows.getCells().get(j).getParagraphs().get(z);
                        p.getFormat().setKeepFollow(true);//设置表格内容在同一页显示
     }
                }
            } //保存文档
            doc.saveToFile("result1.docx",FileFormat.Docx_2013);
        }
    }
    

    在此我向大家推荐一个架构学习交流圈。交流学习微信:539413949(里面有大量的面试题及答案)里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化、分布式架构等这些成为架构师必备的知识体系。还能领取免费的学习资源,目前受益良多

    展开全文
  • Easypoi_4.2.0源码修改 word模板导出 增加表格一列非循环语句时word导出1. 写在前面2.开始寻找突破口 1. 写在前面   之前写过easypoi修改源码的文章,写的很细,但是发现基本没什么反响。这篇文章不会太详细的...

    Easypoi_4.2.0源码修改 word模板导出 增加表格第一列非循环语句时word导出

    1. 写在前面

      之前写过easypoi修改源码的文章,写的很细,但是发现基本没什么反响。这篇文章不会太详细的介绍如何定位问题,只会简单记录,最后把修改完的代码贴出来,并实现功能。

    2. 开始寻找突破口

      首先定位到问题,当word模板中存在表格的情况下,并且表格的第一列是固定,如下图中蓝框中的内容是固定,这时使用 !fe: 遍历的时候,会发现毫无效果。问题定位到了,那就一步一步来找到原因所在吧。
    在这里插入图片描述

    3. 解决问题

      首先找到代码入口。查看该方法exportWord07

    WordExportUtil.exportWord07("班级.docx", map)
    

    经过一系列的调试,定位到了ParseWord07类中的parseThisTable方法。源码如下:

        private void parseThisTable(XWPFTable table, Map<String, Object> map) throws Exception {
            for(int i = 0; i < table.getNumberOfRows(); ++i) {
                XWPFTableRow row = table.getRow(i);
                List<XWPFTableCell> cells = row.getTableCells();
                Object listobj = this.checkThisTableIsNeedIterator((XWPFTableCell)cells.get(0), map);
                if (listobj == null) {
                    this.parseThisRow(cells, map);
                } else if (listobj instanceof ExcelListEntity) {
                    (new ExcelEntityParse()).parseNextRowAndAddRow(table, i, (ExcelListEntity)listobj);
                    i = i + ((ExcelListEntity)listobj).getList().size() - 1;
                } else {
                    ExcelMapParse.parseNextRowAndAddRow(table, i, (List)listobj);
                    i = i + ((List)listobj).size() - 1;
                }
            }
    
        }
    

      我们需要改的地方就是第五行,之后替换表格内容的代码最重要的就是listobj参数。这源代码中第五行很明显,他只是根据第一列的内容来获取listobj,而我们的模板循环语句并未在第一列上,因此导致word导出时,无法替换内容。原因讲完了,下面都是动手节了。

      首先将ParseWord07类中的parseThisTable方法 修改成以下代码。

     private void parseThisTable(XWPFTable table, Map<String, Object> map) throws Exception {
            for (int i = 0; i < table.getNumberOfRows(); ++i) {
                XWPFTableRow row = table.getRow(i);
                List<XWPFTableCell> cells = row.getTableCells();
    
                //此部分为修改的源代码
                //作用 用于识别word中表格非第一列的循环语法
                Object listobj = null;
                int col = 0;
                for (XWPFTableCell cell : cells) {
                    listobj = this.checkThisTableIsNeedIterator(cell, map);
                    if (listobj != null) {
                        break;
                    }
                    col++;
                }
                if (listobj == null) {
                    this.parseThisRow(cells, map);
                } else if (listobj instanceof ExcelListEntity) {
                    (new ExcelEntityParse()).parseNextRowAndAddRow(table, i, (ExcelListEntity) listobj);
                    i = i + ((ExcelListEntity) listobj).getList().size() - 1;
                } else {
                    LcExcelMapParse.parseNextRowAndAddRow(table, i, (List) listobj, col);
                    i = i + ((List) listobj).size() - 1;
                }
            }
    
        }
    

      再找到ExcelMapParse类中的parseNextRowAndAddRow方法,修改成以下代码

    
        public static void parseNextRowAndAddRow(XWPFTable table, int index, List<Object> list, int col) throws Exception {
            XWPFTableRow currentRow = table.getRow(index);
            String[] params = parseCurrentRowGetParams(currentRow);
            String listname = params[col];
            boolean isCreate = !listname.contains("!fe:");
            listname = listname.replace("!fe:", "").replace("$fe:", "").replace("fe:", "").replace("{{", "");
            String[] keys = listname.replaceAll("\\s{1,}", " ").trim().split(" ");
            params[col] = keys[1];
            List<XWPFTableCell> tempCellList = new ArrayList();
            tempCellList.addAll(table.getRow(index).getTableCells());
    //        int cellIndex = false;
            Map<String, Object> tempMap = Maps.newHashMap();
            LOGGER.debug("start for each data list :{}", list.size());
            Iterator var11 = list.iterator();
    
            while (var11.hasNext()) {
                Object obj = var11.next();
                currentRow = isCreate ? table.insertNewTableRow(index++) : table.getRow(index++);
                tempMap.put("t", obj);
    
                //如果有合并单元格情况,会导致params越界,这里需要补齐
                String[] paramsNew = (String[]) ArrayUtils.clone(params);
                if (params.length < currentRow.getTableCells().size()) {
                    for (int i = 0; i < currentRow.getTableCells().size() - params.length; i++) {
                        paramsNew = (String[]) ArrayUtils.add(paramsNew, 0, "placeholderLc_" + i);
                    }
                }
    
                String val;
                int cellIndex;
                for (cellIndex = 0; cellIndex < currentRow.getTableCells().size(); ++cellIndex) {
                    val = PoiElUtil.eval(paramsNew[cellIndex], tempMap).toString();
                    //源代码的bug 此方法无法删除单元格中的内容
                    //currentRow.getTableCells().get(cellIndex).setText("");
                    //使用此方法清空单元格内容
                    if (!Strings.isNullOrEmpty(val)) {
                        currentRow.getTableCells().get(cellIndex).getParagraphs().forEach(p -> p.getRuns().forEach(r -> r.setText("", 0)));
                    }
                    PoiWordStyleUtil.copyCellAndSetValue(cellIndex >= tempCellList.size() ? tempCellList.get(tempCellList.size() - 1) : tempCellList.get(cellIndex)
                            , currentRow.getTableCells().get(cellIndex), val);
                }
    
                while (cellIndex < paramsNew.length) {
                    val = PoiElUtil.eval(paramsNew[cellIndex], tempMap).toString();
                    PoiWordStyleUtil.copyCellAndSetValue((XWPFTableCell) tempCellList.get(cellIndex), currentRow.createCell(), val);
                    ++cellIndex;
                }
            }
    
            table.removeRow(index);
        }
    

      至此源代码全部修改完毕,这次没有解释太多,因为估计真有遇到需要修改源代码的时候,大部分人选择的是放弃使用这个第三方类库,修改源码也确实有一定难度,所以这个基本用于记录自己解决问题的整个流程,方便以后看得时候能快速想起来。

    展开全文
  • 在日常办公应用中,我们经常会遇到将一个表格中各行内容连接起来作为一列形成新表的情况。以下是学习啦小编为您带来的关于将Word表格多行内容转成一列的技巧,希望对您有所帮助。将Word表格多行内容转成一列的技巧...
  • 如何将excel张数据汇总在个表中分为以下几步:1、工作簿中有张工作表,A和B列都有类似的数据,行数不同。2、选中“汇总”表A1单元格,点击【数据】-【合并计算】。3、左上角选择适当的运算方式,本例为...
  • 用Excel做表格,有的表格列数很少,只有1至3,而行数却很。例如图1所示,这份“产品报价表”数是2,行数达到674行,因此用这种的版式打印存在两大问题:第是每张纸的信息量较少,只有2内容,打印效果...
  • 以Excel为例,在表格右侧增加一列的方法如下:1、首先打开一个Excel电子表格,在一个Excel电子表格中输入两列数据。2、如果要向C列和D列添加列,请将鼠标悬停在D列上并选择该列。3、选定后,右键单击并选择插入选项...
  • 近期,要完成个项目,要求大概是动态的生成表格,需求项目书给的样式是这样的 但是,使用过phpword的人都知道,phpword需要自定义样式才能完成这样的效果,而网上又很少有这样的案例,官方文档又很坑,于是,...
  • 将excel/word数据复制粘贴到word表格的几种方式有时候我们需要把excel中的数据粘贴到word中的个表格中,或者在word中个表格的内容粘贴到另个表格中。这两种情况,都遵循同样的操作方式。在表格中粘贴表格内容...
  • 要删除所有表格的哪一列?注意,删除后无法撤销。")If IsNumeric(intCol) Then for i=1 to Tables.Count Tables(i).Columns(intCol).Delete NextElse MsgBox("输入数据应为数值...
  • word表格怎么去边框线 word表格去边框线的方法word表格怎么去边框线 word表格去边框线的方法 Word表格怎么去边框?表格制作一般选用Microsoft Excel表格来制作工作需要的表格,但是Excel表格难以处理.因此,涉及数据的...
  • Excel表格不同版本最bai大行数和数du都会不一样。例如:Excel 2003版:zhi数dao最大256(IV,2的8次方),行数最大65536(2的16次方)行;Excel 2007版:数最大16384(XFD,2的14次方),行数最大1048576(2的20...
  • 今天来说说在Excel中,将表格里的一列转换为多行多列的几种方法。例如,以下表格,是一个行业分类表,都放在同一列中。现我们准备把它转为多列表格里数据除掉标题行行,总共有60列数据,干脆我们就给它转为10行6列...
  • 1,首先,在word文档中,找到出现问题的表格,全选该表格。选中之后,用右键点击表格。 2,点击之后,会弹出菜单,在弹出的菜单中选择“表格属性”项。 3.选择在“行”选项卡 4..在“尺寸”项目中将制定...
  • 遇到“word表格中两行只有行字怎么上下左右居中,表格内容无法居中”的问题,如下: 解决办法是: 1、选中需要修改的表格; 2、点击菜单栏中的布局; 3、在“表格的对齐方式”的菜单,里有“表格上下居中的、表格...
  • 怎么批量修改Word表格的宽度

    千次阅读 2020-12-18 13:18:57
    怎么批量修改Word表格的宽度呢。Word表格可根据窗口自动调整表格宽度,使得所有的表格宽度和页面宽度一样。当页面设置了新的页边距后,所有的表格都需要调整新的宽度。或者文档中有许多大大小小的表格,希望宽度全部...
  • 选中Word中全部表格和修改表格列

    千次阅读 2019-01-28 09:23:34
    1.背景:当word中有很多表格需要修改时,逐个修改既费时又可能有遗漏。如果能同时选中所有表格,对所有表格同步进行修改,就能大大提高效率。 2.方法:通过Word中的宏命令,选中全部表格,并修改表格列宽。 3.选中...
  • WORD取消表格首行缩进

    千次阅读 2021-01-13 06:36:20
    关于WORD取消表格首行缩进内容请关注好文网篇Word表格不能输入文字的情况Word表格不好文网为大家准备了关于WORD取消表格缩进的文章,好文网里面收集了五十篇关于好WORD取消表格缩进好文,希望可以帮助大家。...
  • 对已经生成的word进行处理,要对表格中的行、进行合并。 参考:...
  • Word 2007文档中,用户可以很容易地将文字转换成表格。其中关键的操作是使用分隔符号将文本合理分隔。...而对于同个文本段落中含有多个制表符或逗号的文本,Word 2007可以将其转换成单行多列表格;包括多...
  • 工具\材料电脑 word软件1、首先在电脑上下载并安装好word软件,打开之后的界面如下图所示。2、接着在word软件中添加个列表,如下图所示,添加个...word表格内文字间距怎么调整word表格内文字间距可在选中字体...
  • 教你修改Word文本表格

    2021-07-26 09:29:18
    教你修改Word文本表格Word 2000文本表格的修改操作方法[方法]使用鼠标。第步:打开要编辑的文本文件。第二步:找到想要进行修改操作的表格。第三步:修改行高。把鼠标指针放置在要改变的行边框上,鼠标...
  • 、Java需要通过模板导出的word如上图所示。物品的信息是循环部分。但是前面的表格是合并固定的。接下来我们将通过freemarker模板的方式来导出上述格式二、创建freemarker模板2.1首先将word的源文件另存为xm...
  • 处理word表格搞得人头大,找时间百度波写了个函数处理标记删除的问题,根据这一套逻辑还可以实现很功能,供各位参考。 要点: 双循环遍历所有表表头 InStr函数匹配具体内容(word表格多半有特殊字符,相等匹配较...
  • word怎么计算一列平均分

    千次阅读 2021-07-26 03:36:51
    word计算一列平均分的方法:首先输入表格数据,并点击布局菜单;...最后选中【=AVERAGE()】,在括号中输入...word计算一列平均分的方法:1、打开Office Word文档,输入表格数据,然后点击菜单栏中的布局菜单,如图所...
  • word表格必不可少,表格的加减乘除必不可少,这里给各位做个大汇总, 各位可以选择适合自己操作的习惯的方式,用的顺手的才是自己的快捷键、拆分行(1)Ctrl+Shift+Enter 在拆分处输入既可(2)页面布局——分隔符...
  • WORD表格怎么按照数字降序排列

    千次阅读 2021-07-28 07:20:17
    WORD表格怎么按照数字降序排列有时候在word中制作好个表格,然后填充了数据后,我们希望将其排列顺序按照自己的要求来排列。比如将数据升降排列,或者自定义排列等等,这系列的操作我们都可以从Word表格中完成。...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 34,787
精华内容 13,914
关键字:

word表格一列变多列