精华内容
下载资源
问答
  • 下面,将通过Java编程在Word文档中创建表格或者嵌套表格,并实现格式化操作,包括设置字体、字号、字体颜色、字体粗细等,设置单元格对齐方式、单元格背景色、单元格合并、设置表格边框样式、插入图片等。...

    概述

    表格作为一种可视化交流模式及组织整理数据的手段,在各种场合及文档中应用广泛。常见的表格可包含文字、图片等元素,我们操作表格时可以插入图片、写入文字及格式化表格样式等。下面,将通过Java编程在Word文档中创建表格或者嵌套表格,并实现格式化操作,包括设置字体、字号、字体颜色、字体粗细等,设置单元格对齐方式、单元格背景色、单元格合并、设置表格边框样式、插入图片等。另外,本文也将介绍对表格中的行或者列的一些操作,包括添加行或列、复制行或列以及设置表格是否跨页断行等。

    使用工具

    Free Spire.Doc for Java (免费版)

    jar文件获取及导入:

    Jar文件可通过e-iceblue中文

    官网获取,下载后,解压文件,将lib文件夹下的Spire.Doc.jar导入Java程序;也可以通过maven仓库安装导入

    。导入效果如下:

    b620875750ccc43b3b0618541f8b6c48.png

    Java代码示例(供参考)

    1. 创建表格

    import com.spire.doc.*;

    import com.spire.doc.documents.*;

    import com.spire.doc.fields.DocPicture;

    import com.spire.doc.fields.TextRange;

    import java.awt.*;

    public class CreateTable {

    public static void main(String[] args){

    //创建Document对象

    Document doc = new Document();

    Section sec = doc.addSection();

    //声明数组内容

    String[] header = {"班级","姓名","性别", "学号", "专业成绩"};

    String[][] data =

    {

    new String[]{"一班","王丽", "女", "Y1256486", "138"},

    new String[]{"一班","洪菲菲", "女", "Y5425875", "134"},

    new String[]{"二班","刘洋", "男", "B1546258", "141"},

    new String[]{"三班","冯刚", "男", "B1542367", "136"},

    new String[]{"三班","刘思源", "男", "Z1263547", "133"},

    };

    //添加表格

    Table table = sec.addTable(true);

    //设置表格的行数和列数

    table.resetCells(data.length + 1, header.length);

    //设置表格第一行作为表头,写入表头数组内容,并格式化表头数据

    TableRow row = table.getRows().get(0);

    row.isHeader(true);

    row.setHeight(20);

    row.setHeightType(TableRowHeightType.Exactly);

    row.getRowFormat().setBackColor(Color.ORANGE);

    for (int i = 0; i 

    row.getCells().get(i).getCellFormat().setVerticalAlignment(VerticalAlignment.Middle);

    Paragraph p = row.getCells().get(i).addParagraph();

    p.getFormat().setHorizontalAlignment(HorizontalAlignment.Center);

    TextRange range1 = p.appendText(header[i]);

    range1.getCharacterFormat().setFontName("Arial");

    range1.getCharacterFormat().setFontSize(12f);

    range1.getCharacterFormat().setBold(true);

    range1.getCharacterFormat().setTextColor(Color.white);

    }

    //写入剩余组内容到表格,并格式化数据

    for (int r = 0; r 

    TableRow dataRow = table.getRows().get(r + 1);

    dataRow.setHeight(25);

    dataRow.setHeightType(TableRowHeightType.Exactly);

    dataRow.getRowFormat().setBackColor(Color.white);

    for (int c = 0; c 

    dataRow.getCells().get(c).getCellFormat().setVerticalAlignment(VerticalAlignment.Middle);

    TextRange range2 = dataRow.getCells().get(c).addParagraph().appendText(data[r][c]);

    range2.getOwnerParagraph().getFormat().setHorizontalAlignment(HorizontalAlignment.Center);

    range2.getCharacterFormat().setFontName("Arial");

    range2.getCharacterFormat().setFontSize(10f);

    }

    }

    //纵向合并指定单元格

    table.applyVerticalMerge(0,1,2);

    table.applyVerticalMerge(0,4,5);

    //插入图片到指定单元格

    DocPicture dp = table.getRows().get(1).getCells().get(0).addParagraph().appendPicture("1.png");

    dp.getOwnerParagraph().getFormat().setHorizontalAlignment(HorizontalAlignment.Center);

    //设置单元格背景颜色

    for (int j = 1; j 

    if (j % 2 == 0) {

    TableRow row2 = table.getRows().get(j);

    for (int f = 1; f 

    row2.getCells().get(f).getCellFormat().setBackColor(new Color(144,238,144));

    }

    }

    }

    //设置表格边框样式

    table.getTableFormat().getBorders().setBorderType(BorderStyle.Thick_Thin_Large_Gap);

    //保存文档

    doc.saveToFile("CreateTable.docx", FileFormat.Docx_2013);

    }

    }

    表格创建效果:

    70288ce437f90d90607e22a7c83579ff.png

    2. 创建嵌套表格

    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 

    TableRow dataRow = nestedtable.getRows().get(i);

    dataRow.getCells().get(i).setWidth(160);

    dataRow.setHeight(25);

    dataRow.setHeightType(TableRowHeightType.Exactly);

    for (int j = 0; 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);

    }

    }

    嵌套表格添加效果:

    93753600eb8d05cae63e6d6fdaf0aaf7.png

    3. 在Word表格中添加行或者列

    3.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();

    }

    }

    行添加效果:

    dfb6a5ff090008a81abf2141ef9aa9ac.png

    3.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 

    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();

    }

    }

    列添加效果:

    91a80bc70c6e182751489cd84499d220.png

    4. 复制表格行或者列

    4.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();

    }

    }

    表格行复制效果:

    03fe378a59efbc554682ce0e42209e6e.png

    4.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 

    //复制表格中每行的最后一个单元格,复制

    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();

    }

    }

    表格列复制效果:

    dde7b4bc935b7bf5d9e6b42b5fc426d1.png

    5. 设置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

    TableRow rows = table.getRows().get(i);

    for (int j = 0; j

    for (int z= 0; z 

    Paragraph p = rows.getCells().get(j).getParagraphs().get(z);

    p.getFormat().setKeepFollow(true);//设置表格内容在同一页显示

    }

    }

    }

    //保存文档

    doc.saveToFile("result1.docx",FileFormat.Docx_2013);

    }

    }

    (本文完)

    展开全文
  • 操作要点包括如何在Word中创建嵌套表格、对已有表格添加行或者列复制已有表格中的指定行或者列对跨页表格可设置是否禁止跨页断行创建表格,包括添加数据、插入表格合并单元格、设置表格样式、单元格居中、单元格...

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

    如何在Word中创建嵌套表格、

    对已有表格添加行或者列

    复制已有表格中的指定行或者列

    对跨页的表格可设置是否禁止跨页断行

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

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

    Jar文件可通过官网

    【添加Word嵌套表格】

    import com.spire.doc.*;import com.spire.doc.documents.*;importcom.spire.doc.fields.TextRange;public classNestedTable {public static voidmain(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);

    }

    }

    嵌套表格效果:

    abedc1a5760b4ff3d2c52ccf9caf715e.png

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

    1. 添加行

    import com.spire.doc.*;public classAddRow {public static voidmain(String[] args){//加载测试文档

    Document doc = newDocument();

    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();

    }

    }

    表格行添加效果:

    835ebc53d490838645d5cbd32b50a9b7.png

    2. 添加列

    import com.spire.doc.*;importcom.spire.doc.documents.BorderStyle;import java.awt.*;public classAddColumn {public static voidmain(String[] args){//加载测试文档

    Document doc = newDocument();

    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();

    }

    }

    表格列添加效果:

    370b0a56a07fe6568bcf707fc207dc8a.png

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

    1. 复制行

    import com.spire.doc.*;public classCopyRow {public static voidmain(String[] args) {//加载测试文档

    Document doc = newDocument();

    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();

    }

    }

    表格行复制效果:

    cc9430db26e9090d905df2cb32323ab2.png

    2. 复制列

    import com.spire.doc.*;public classCopyColumn {public static voidmain(String[] args) {//加载测试文档

    Document doc = newDocument();

    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();

    }

    }

    表格列复制效果:

    3a025dc79924fe88568d8b41495345d2.png

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

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

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

    import com.spire.doc.*;public classPreventPagebreak {public static voidmain(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.*;importcom.spire.doc.documents.Paragraph;public classPreventPagebreak {public static voidmain(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);

    }

    }

    (本文完)

    转载请注明出处!!

    原文出处:https://www.cnblogs.com/Yesi/p/11691132.html

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

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

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

     创建表格,包括添加数据、插入表格、合并单元格、设置表格样式、单元格居中、单元格背景色,单元格字体样式等设置,可参考这篇文章里的内容。


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

    Jar文件可通过官网下载jar文件包,下载后,解压文件,将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);
        }
    }

    嵌套表格效果:

     

    【在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();
        }
    }

    表格行添加效果:

         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();
        }
    }

    表格列添加效果:

    【复制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();
        }
    }

    表格行复制效果:

          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();
        }
    }

    表格列复制效果:

    【设置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);
        }
    }

    (本文完)

    转载请注明出处!!

    展开全文
  • 回答:方法如下:去掉Word文字保留表格的方法一:1、全选表格,按 Delet 键,表格的所有文字被删除,如图3所示:2、图3是图1所示是表格,文字都...常见问题1、表格跨页,表头自动跟随在制作表格时,若表格长度较长,...

    回答:

    方法如下:

    去掉Word文字保留表格的方法一:

    1、全选表格,按 Delet 键,表格的所有文字被删除,如图3所示:

    2、图3是图1所示是表格,文字都没有了。

    去掉Word文字保留表格的方法二:

    全选表格,按 Ctrl + C 复制,打开一个文本文件,按 Ctrl + V,表格的全部文字被粘贴到文本文件中,而表格的连横和横坚线已经不见了。

    常见问题

    1、表格跨页,表头自动跟随

    在制作表格时,若表格长度较长,跨过了一页时,表头每次都是采用复制的方法在另一页上进行制作,请问有没有更简单的方法实现。

    答:对于这个问题有很多朋友都是采用复制、粘贴的办法解决,其实可以更轻松做到的。首先选中表头,然后单击“表格→标题行重复”命令,其后多页的表头便可迅速完成。

    2、在表格中快速进行计算

    利用Word制作好一张成绩后,想对学生成绩进行求和计算,听他人讲可以利用Word自动完成,请问具体操作方法是怎样。

    答:可以,完成数据输入后,把指针移到准备输入公式的单元格,再在菜单上单击“表格→公式”命令,在“公式”文本框输入公式,再单击“确定”按钮便可得出利用该公式计算得出的数据。同时在“公式”对话框中“粘贴函数”下拉列表下有很多函数供选用,通过选择便可完成很多复杂的计算任务。

    展开全文
  • 本文将对如何在Java程序中操作Word表格作进一步介绍。操作要点包括 如何在Word中创建嵌套表格、 对已有表格添加行或者列 复制已有表格中的指定行或者列 对跨页的表格可设置是否禁止跨页断行 ...
  • VBA实践+快速合并表格且竖线对齐有一份pdf版的书籍,表格是其内容的主要组织形式,表格都比较大,或多。由OCR识别软件(如ABBYY finereader)识别后,导出word文档,可以看到同一个表格的几个子表格是分开的...
  • 生成表格的时候,发现无法让表格第一行重复标题(跨页的时候显示标题行) 最终发现了一个方法可以直接获取到重复标题的方法,嘿嘿,虽然不让选择表格的第一行(因为什么有合并的列等等),但是可以选择一个cell,...
  • java对word的操作

    2019-11-01 10:15:08
    本文将对如何在Java程序中操作Word表格作进一步介绍。操作要点包括 如何在Word中创建嵌套表格、 对已有表格添加行或者列 复制已有表格中的指定行或者列 对跨页的表格可设置是否禁止跨页断行 ...
  • oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 第一章 Oracle入门 一、 数据库概述 数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它产生于距今五十年前。简单来说是本身可视...
  • rtf模板常用技巧

    2017-06-04 15:58:00
    以下是一些在开发XMLP(BIP)报表的时候,开发RTF模版的一些技巧:1、word表格做RTF模版的时候,采用word中的表格来进行设计,下面的几点很重要:(1)标题行重复,可以实现新页重复标题。(2)嵌套表格、行列合并、...
  • 1、word文本转化为表格 2、大写数字设置 3、单元格合并 4、保存加载宏 5、自动添加标题 6、设置表格边框 7、标题列居中 8、公式求值 9、选项设置加密 10、模板的保存 11、添加监视窗口 12、行列隐藏 13、保存设置...
  • 1、word文本转化为表格 2、大写数字设置 3、单元格合并 4、保存加载宏 5、自动添加标题 6、设置表格边框 7、标题列居中 8、公式求值 9、选项设置加密 10、模板的保存 11、添加监视窗口 12、行列隐藏 13、保存设置...
  • 1、强大的DataGridView打印功能,不仅可以以多种形式(普通打印、分栏打印、跨页打印、工资条打印)打印DGV表格,基本上能完全按DGV控件本身设置的格式如字体、字号、背景颜色、前景颜色、单元格对齐方式等打印出来...
  • 29、表格绘制功能,可支持表格行和列的插入与删除、表格单元的合并与拆分、表格边框线的设置、手写识别文字输入、字体设置等; 30、不限长度和宽度的页面,提供更多的书写空间; 31、提供了大米字格纸、汉语拼音纸、...
  • 1、强大的DataGridView打印功能,不仅可以以多种形式(普通打印、分栏打印、跨页打印、工资条打印)打印DGV表格,基本上能完全按DGV控件本身设置的格式如字体、字号、背景颜色、前景颜色、单元格对齐方式等打印出来...
  • 1、强大的DataGridView打印功能,不仅可以以多种形式(普通打印、分栏打印、跨页打印、工资条打印)打印DataGridView表格,基本上能完全按DataGridView控件本身设置的格式如字体、字号、背景颜色、前景颜色、单元格...
  • 1、强大的DataGridView打印功能,不仅可以以多种形式(普通打印、分栏打印、跨页打印、工资条打印)打印DGV表格,基本上能完全按DGV控件本身设置的格式如字体、字号、背景颜色、前景颜色、单元格对齐方式等打印出来...
  • 1、强大的DataGridView打印功能,不仅可以以多种形式(普通打印、分栏打印、跨页打印、工资条打印)打印DGV表格,基本上能完全按DGV控件本身设置的格式如字体、字号、背景颜色、前景颜色、单元格对齐方式等打印出来...
  • 标题、插图、表格表格行支持自动编号“0”配置,跟 Word 说 ByeBye 吧~ 自动生成插图、表格、代码块的题注OMG!配合插图、表格的自动编号,高效高颜值!还有独特的双题注~ 表格单元格合并这个是用 ...
  • html入门到放弃笔记

    2018-05-15 15:06:12
    W3C :Word Wide Web Consortium (万维网联盟) 1、HTML文档的组成 1、文档类型声明 告知浏览器当前的HTML文档用的是哪个版本 在网页的最顶端 <!doctype html> 2、由一对 html 根标记,来表示页面的开始与结束...
  • 实例083 将多个Word文档合并为一个Word文档 实例084 批量替换Word文档中指定的字符串 3.2 读取外部数据到Word中 196 实例085 读取文本文件到Word中 实例086 读取多个文本文件到同一Word文档中 实例087 读取...
  • 排行榜、树洞 OCR 文字识别 、从包含表格的扫描图片中识别表格和文字、语声迁移、Python口语自然语言处理工具集(英文)、 similarity:相似度计算工具包,java编写、海量中文预训练ALBERT模型 、Transformers 2.0 、...
  • 浏览器检测窗口/标签是否处于激活状态 Java VisualVM - 配置 JMX 连接 1. Java EE简介 - JavaEE基础系列【已完成】 2. JSR简介 - JavaEE基础系列【已完成】 3. 什么是JSR参考实现? - JavaEE基础系列【已完成...
  • 34、两种编辑器选择,可视化编辑器,类似word的所件即所得的在线内容编辑功能,支持表格、图片、FLASH、多种格式播放器插入,支持图片和附件上传。 35、字符过滤,自动过滤敏感字符,避免损害网站形象、避免网站...
  • python-docx:读取,查询以及修改 Microsoft Word 2007/2008 docx 文件。 python-pptx:可用于创建和修改 ppt 文件的 Python 库。 relatorio:模板化 OpenDocument 文件。 unoconv:在 LibreOffice/OpenOffice ...
  • 人力资源管理软件(完全免费)

    热门讨论 2011-03-08 11:36:20
    本人力资源软件包含可以输出到excel、wps表格、html等文件 本人力资源软件包含提供虚拟域名互联网浏览器访问 支持中控、依时利、舒特、文本接口等多种考勤机 绿色软件,安全方便 单机永远免费,升级免费 人力...
  •  [TablePanel.java] 日历表格面板  [ConfigLine.java] 控制条类  [RoundBox.java] 限定选择控件  [MonthMaker.java] 月份表算法类  [Pallet.java] 调色板,统一配色类 Java扫雷源码 Java生成自定义控件...
  • Linux 操作系统基础教程 清华大学信息学院计算机系 目 录 前言..........................................................................................................................................

空空如也

空空如也

1 2
收藏数 31
精华内容 12
关键字:

word表格跨页合并