java操作跨页的word cell_Java 操作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);
}
}
嵌套表格效果:
【在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表格——创建嵌套表格、添加/复制表格行或列、设置表格是否禁止跨页断行...相关推荐
- Java 操作Word表格——创建嵌套表格、添加/复制表格行或列、设置表格是否禁止跨页断行
本文将对如何在Java程序中操作Word表格作进一步介绍.操作要点包括 如何在Word中创建嵌套表格. 对已有表格添加行或者列 复制已有表格中的指定行或者列 对跨页的表格可设置是否禁止跨页断行 创建表 ...
- Java 操作Word表格——创建嵌套表格、添加/复制表格行或列、设置表格是否禁止跨页断行...
点击上方 "程序员小乐"关注公众号, 星标或置顶一起成长 每天凌晨00点00分, 第一时间与你相约 每日英文 Destiny decides who enters your lif ...
- phpexcel_cell 获取表格样式_Java 操作Word表格——创建嵌套表格、添加/复制表格行或列、设置表格是否禁止跨页断行...
精品推荐 国内稀缺优秀Java全栈课程-Vue+SpringBoot通讯录系统全新发布! Docker快速手上视频教程(无废话版)[免费] 作者:E-iceblue https://www.cnblo ...
- java制作九行九列表格_将文中后9行文字转换成一个9行4列的表格,设置表格居中,表格列宽为2.5厘米..._考试资料网...
问答题在考生文件夹下打开文档word.docx,按照要求完成下列操作并以该文件名(word.docx)保存文档. [文档开始] 2009年北平市中考招生计划低于10万人 晨报讯伴随初中毕业生人数连年下 ...
- word2010首行缩进、设置页码为第几页共几页、图片完全不显示等问题
一.Word2010中首行缩进2字符: 1.选中内容右击选择[段落],或者点击开始菜单下"段落"选项卡右下角的斜拉箭头. 2.在"特殊格式"中选择[首行缩进], ...
- 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 ...
- java操作跨页的word cell_Java 创建Word表格/嵌套表格、添加/复制表格行或列、设置表格跨页断行...
概述 表格作为一种可视化交流模式及组织整理数据的手段,在各种场合及文档中应用广泛.常见的表格可包含文字.图片等元素,我们操作表格时可以插入图片.写入文字及格式化表格样式等.下面,将通过Java编程在W ...
- java对word的操作
本文将对如何在Java程序中操作Word表格作进一步介绍.操作要点包括 如何在Word中创建嵌套表格. 对已有表格添加行或者列 复制已有表格中的指定行或者列 对跨页的表格可设置是否禁止跨页断行 创建表 ...
- C#与Word的操作--转载
前面的准备工作 本文中用C#来操作Word,包括: 创建Word: 插入文字,选择文字,编辑文字的字号.粗细.颜色.下划线等: 设置段落的首行缩进.行距: 设置页面页边距和纸张大小: 设置页眉.页码: ...
最新文章
- cstring 比较_不同商用齿轮齿接触分析软件的比较(三)
- [转]应届毕业生生存法则--工作篇
- 用python实现todolist_So easy !用 Python 开发一个todolist
- python中如果要多次输入文本,关于文本游戏:文本游戏 – 如果语句基于输入文本 – Python...
- epoll 边沿触发(ET 模式)和水平触发(LT 模式)
- 前端学习(2047)vue之电商管理系统电商系统之使用cdn优化打包
- 休闲食品行业如何数字化升级,腾讯云和卫龙辣条一起打了个样
- win10 利用安装包 安装 ssh
- Windows10远程桌面连接提示:出现身份验证错误,要求的函数不受支持
- 【Day13】说一下 Vue 组件的通信方式都有哪些?(父子组件,兄弟组件,多级嵌套组件等等)
- .Net 中的序列化与反序列化[概述]
- 一键解决“请卸载所有32位office程序,然后重试安装64位office”
- 一文看懂主流区块链攻击底层逻辑 | 博文精选
- 计算机怎样打开鼠标点的键盘,电脑软键盘怎么打?
- 安装程序将在重启您的计算机后黑屏,解决Windows 10登陆后黑屏问题
- IDEA报错:Lombok Requires Annotation Processing, Annotation processing seems to be disabled
- 最近学习金融知识的感悟
- 讲清楚之 javascript原形
- 浏览器的id_在浏览器的环境下学习ES6的模块化
- 金工计算机测试题,金工考试题精选.doc