为有中文需求的客户提供多渠道中文技术支持.

Thu Dec 15, 2022 4:02 am

你好,使用的是Free Spire.Doc,创建表格后,如何设置表格的Layout属性

kkdlong1220
 
Posts: 6
Joined: Thu Dec 15, 2022 3:58 am

Thu Dec 15, 2022 1:06 pm

您好,

感谢您的留言。
请问您是想要表格固定列宽吗?如下面截图,如果是,请参考下面代码:


NET
Code: Select all
//Create a document
            Document document = new Document();
            //Load file
            document.LoadFromFile(@"..\..\..\..\..\..\Data\TableSample.docx");
            Section section = document.Sections[0];
            Table table = section.Tables[0] as Table;
            //The table is set to a fixed size
            table.AutoFit(AutoFitBehaviorType.FixedColumnWidths);
            //Save to file
            document.SaveToFile("result.docx");
            //Launch the document
            FileViewer("result.docx");

Java:
Code: Select all
String inputFile="data/tableSample.docx";
        String outputFile="output/autoFitToFixed.docx";

        //create a document
        Document document = new Document();
        //load file
        document.loadFromFile(inputFile);

        Section section = document.getSections().get(0);
        Table table = section.getTables().get(0);

        //the table is set to a fixed size
        table.autoFit(AutoFitBehaviorType.Fixed_Column_Widths);

        //save to file
        document.saveToFile(outputFile,FileFormat.Docx);



Sincerely
Abel
E-iceblue support team
User avatar

Abel.He
 
Posts: 1010
Joined: Tue Mar 08, 2022 2:02 am

Fri Dec 16, 2022 1:48 am

你好,固定列宽这个我设置了,现在是word打开没问题,但是用wps打开固定的列宽好像没生效,页面只显示一半的宽度?有办法调整吗?用layout是否好使?主要我想实现让表格自适应窗口,内容自适应表格宽度。
Section section = document.getSections().get(0);

for (int i = 0; i < table.getRows().getCount(); i++) {
TableRow row = table.getRows().get(i);
for (int j = 0; j < row.getCells().getCount(); j++) {
TableCell cell = row.getCells().get(j);
if (j == row.getCells().getCount() - 1) {
cell.setCellWidth(12f, CellWidthType.Percentage);
} else {
cell.setCellWidth(10f, CellWidthType.Percentage);
}
}
}
table.autoFit(AutoFitBehaviorType.Fixed_Column_Widths);

kkdlong1220
 
Posts: 6
Joined: Thu Dec 15, 2022 3:58 am

Fri Dec 16, 2022 9:59 am

您好,

感谢您的反馈。
对于固定列宽的问题,我模拟了一个文档进行测试,使用wps(11.1.0.12980-release)打开并没有重现到您提到的问题。
另外,设置表格自适应窗口的代码如下,对于您提到的内容自适应表格宽度,word并没有这个功能,有的是表格宽度使用内容。为了帮助我们更好的理解您的需求,请提供您的原始输入文档,以及想要实现效果的结果文档来帮助我们为您提供准确的代码。您可以将文档附在此贴中,也可以发送到我们的邮箱(support@e-iceblue.com )。
Code: Select all
table.autoFit(AutoFitBehaviorType.Auto_Fit_To_Window);


Sincerely
Abel
E-iceblue support team
User avatar

Abel.He
 
Posts: 1010
Joined: Tue Mar 08, 2022 2:02 am

Return to 中文技术支持