本文将对如何在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);

}

}

嵌套表格效果:

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

}

}

表格行添加效果:

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

}

}

表格列添加效果:

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

}

}

表格行复制效果:

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

}

}

表格列复制效果:

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

}

}

(本文完)

转载请注明出处!!

java操作跨页的word cell_Java 操作Word表格——创建嵌套表格、添加/复制表格行或列、设置表格是否禁止跨页断行...相关推荐

  1. Java 操作Word表格——创建嵌套表格、添加/复制表格行或列、设置表格是否禁止跨页断行

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

  2. Java 操作Word表格——创建嵌套表格、添加/复制表格行或列、设置表格是否禁止跨页断行...

    点击上方 "程序员小乐"关注公众号, 星标或置顶一起成长 每天凌晨00点00分, 第一时间与你相约 每日英文 Destiny decides who enters your lif ...

  3. phpexcel_cell 获取表格样式_Java 操作Word表格——创建嵌套表格、添加/复制表格行或列、设置表格是否禁止跨页断行...

    精品推荐 国内稀缺优秀Java全栈课程-Vue+SpringBoot通讯录系统全新发布! Docker快速手上视频教程(无废话版)[免费] 作者:E-iceblue https://www.cnblo ...

  4. java制作九行九列表格_将文中后9行文字转换成一个9行4列的表格,设置表格居中,表格列宽为2.5厘米..._考试资料网...

    问答题在考生文件夹下打开文档word.docx,按照要求完成下列操作并以该文件名(word.docx)保存文档. [文档开始] 2009年北平市中考招生计划低于10万人 晨报讯伴随初中毕业生人数连年下 ...

  5. word2010首行缩进、设置页码为第几页共几页、图片完全不显示等问题

    一.Word2010中首行缩进2字符: 1.选中内容右击选择[段落],或者点击开始菜单下"段落"选项卡右下角的斜拉箭头. 2.在"特殊格式"中选择[首行缩进], ...

  6. java 3行4列二维数组_输入一个3行4列矩阵到二维数组中,并打印出来

    输入一个M行M列的二维数组,计算四周元素之和 设置数组S(M,M),M>1,ssum=s(1,1)+s(M,M)+s(1,M)+s(M,1)ifM>2fori=2toM-1ssum=ssu ...

  7. java操作跨页的word cell_Java 创建Word表格/嵌套表格、添加/复制表格行或列、设置表格跨页断行...

    概述 表格作为一种可视化交流模式及组织整理数据的手段,在各种场合及文档中应用广泛.常见的表格可包含文字.图片等元素,我们操作表格时可以插入图片.写入文字及格式化表格样式等.下面,将通过Java编程在W ...

  8. java对word的操作

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

  9. C#与Word的操作--转载

    前面的准备工作 本文中用C#来操作Word,包括: 创建Word: 插入文字,选择文字,编辑文字的字号.粗细.颜色.下划线等: 设置段落的首行缩进.行距: 设置页面页边距和纸张大小: 设置页眉.页码: ...

最新文章

  1. cstring 比较_不同商用齿轮齿接触分析软件的比较(三)
  2. [转]应届毕业生生存法则--工作篇
  3. 用python实现todolist_So easy !用 Python 开发一个todolist
  4. python中如果要多次输入文本,关于文本游戏:文本游戏 – 如果语句基于输入文本 – Python...
  5. epoll 边沿触发(ET 模式)和水平触发(LT 模式)
  6. 前端学习(2047)vue之电商管理系统电商系统之使用cdn优化打包
  7. 休闲食品行业如何数字化升级,腾讯云和卫龙辣条一起打了个样
  8. win10 利用安装包 安装 ssh
  9. Windows10远程桌面连接提示:出现身份验证错误,要求的函数不受支持
  10. 【Day13】说一下 Vue 组件的通信方式都有哪些?(父子组件,兄弟组件,多级嵌套组件等等)
  11. .Net 中的序列化与反序列化[概述]
  12. 一键解决“请卸载所有32位office程序,然后重试安装64位office”
  13. 一文看懂主流区块链攻击底层逻辑 | 博文精选
  14. 计算机怎样打开鼠标点的键盘,电脑软键盘怎么打?
  15. 安装程序将在重启您的计算机后黑屏,解决Windows 10登陆后黑屏问题
  16. IDEA报错:Lombok Requires Annotation Processing, Annotation processing seems to be disabled
  17. 最近学习金融知识的感悟
  18. 讲清楚之 javascript原形
  19. 浏览器的id_在浏览器的环境下学习ES6的模块化
  20. 金工计算机测试题,金工考试题精选.doc

热门文章

  1. 运维入门之CPU平均负载及问题排查
  2. 太高效了,全靠这款可视化报表工具,实用
  3. MySQL之全文索引详解
  4. 520表白神器-教你用微信每天给TA说晚安
  5. 测绘程序设计——基础篇(1)C#编写方位角计算程序篇1——用户界面的构造
  6. 【烈日炎炎战后端】消息队列(1.0万字)
  7. 约当标准型_约当标准形矩阵对应的“基”是什么?
  8. [英语语法]词法之分词
  9. 计算机科学导论(5):计算机网络
  10. 网络安全笔记-TCP/IP