本文介绍如何使用spire.doc for java让word表格的列宽自适应内容,或者让word表格的宽度自适应页面宽度,或者固定表格的列宽。
列宽自适应内容
import com.spire.doc.*;
import com.spire.doc.fields.textrange;
public class autofittocontent {
public static void main(string[] args) {
//创建document对象
document document = new document();
//添加节
section section = document.addsection();
//添加表格
table table = section.addtable();
//设置行数和列数
table.resetcells(3, 2);
//添加内容到单元格并设置字体
textrange textrange = table.get(0, 0).addparagraph().appendtext("产品编号");
textrange.getcharacterformat().setfontname("宋体");
textrange = table.get(0, 1).addparagraph().appendtext("名称");
textrange.getcharacterformat().setfontname("宋体");
textrange = table.get(1, 0).addparagraph().appendtext("t1052");
textrange.getcharacterformat().setfontname("宋体");
textrange = table.get(1, 1).addparagraph().appendtext("yt机械键盘(红轴)");
textrange.getcharacterformat().setfontname("宋体");
textrange = table.get(2, 0).addparagraph().appendtext("t1062");
textrange.getcharacterformat().setfontname("宋体");
textrange = table.get(2, 1).addparagraph().appendtext("wx g41m-p3主板");
textrange.getcharacterformat().setfontname("宋体");
//列宽自动适应内容
table.autofit(autofitbehaviortype.auto_fit_to_contents);
//保存文档
document.savetofile("autofittocontent.docx", fileformat.docx);
}
}
表格自适应页面宽度
import com.spire.doc.*;
import com.spire.doc.fields.textrange;
public class autofittowindow {
public static void main(string[] args) {
//创建document对象
document document = new document();
//添加节
section section = document.addsection();
//添加表格
table table = section.addtable();
//设置行数和列数
table.resetcells(3, 2);
//添加内容到单元格并设置字体
textrange textrange = table.get(0, 0).addparagraph().appendtext("产品编号");
textrange.getcharacterformat().setfontname("宋体");
textrange = table.get(0, 1).addparagraph().appendtext("名称");
textrange.getcharacterformat().setfontname("宋体");
textrange = table.get(1, 0).addparagraph().appendtext("t1052");
textrange.getcharacterformat().setfontname("宋体");
textrange = table.get(1, 1).addparagraph().appendtext("yt机械键盘(红轴)");
textrange.getcharacterformat().setfontname("宋体");
textrange = table.get(2, 0).addparagraph().appendtext("t1062");
textrange.getcharacterformat().setfontname("宋体");
textrange = table.get(2, 1).addparagraph().appendtext("wx g41m-p3主板");
textrange.getcharacterformat().setfontname("宋体");
//表格自适应页面宽度
table.autofit(autofitbehaviortype.auto_fit_to_window);
//保存文档
document.savetofile("autofittowindow.docx", fileformat.docx);
}
}
固定列宽
import com.spire.doc.*;
import com.spire.doc.fields.textrange;
public class fixcolumnwidths {
public static void main(string[] args) {
//创建document对象
document document = new document();
//添加节
section section = document.addsection();
//添加表格
table table = section.addtable();
//设置行数和列数
table.resetcells(3, 2);
//添加内容到单元格并设置字体
textrange textrange = table.get(0, 0).addparagraph().appendtext("产品编号");
textrange.getcharacterformat().setfontname("宋体");
textrange = table.get(0, 1).addparagraph().appendtext("名称");
textrange.getcharacterformat().setfontname("宋体");
textrange = table.get(1, 0).addparagraph().appendtext("t1052");
textrange.getcharacterformat().setfontname("宋体");
textrange = table.get(1, 1).addparagraph().appendtext("yt机械键盘(红轴)");
textrange.getcharacterformat().setfontname("宋体");
textrange = table.get(2, 0).addparagraph().appendtext("t1062");
textrange.getcharacterformat().setfontname("宋体");
textrange = table.get(2, 1).addparagraph().appendtext("wx g41m-p3主板");
textrange.getcharacterformat().setfontname("宋体");
//设置列宽
for (int i = 0; i < table.getrows().getcount(); i ) {
table.get(i,0).setcellwidth(80f,cellwidthtype.point);
table.get(i,1).setcellwidth(160f,cellwidthtype.point);
}
//固定列宽
table.autofit(autofitbehaviortype.fixed_column_widths);
//保存文档
document.savetofile("fixcolumnwidths.docx", fileformat.docx);
}
}