Java 设置Excel自适应行高、列宽

时间:2024-03-04 15:36:26
excel中,可通过设置自适应行高或列宽自动排版,是一种比较常用的快速调整表格整体布局的方法。设置自适应时,可考虑2种情况:
1.固定数据,设置行高、列宽自适应数据(常见的设置自适应方法)
2.固定列宽,缩小数据字体大小适应列宽
本文将通过java程序来介绍具体的自适应设置方法。
 
工具:Free Spire.XLS for Java免费版
:可通过官网下载,并解压将lib文件夹下的jar文件导入java程序;或者通过maven仓库下载并导入。
参考如下导入效果:

 


 

Java 代码示例

1. 固定数据,设置行高、列宽自适应数据

(此自适应方法可对指定单元格数据或者整个工作表来设置)

import com.spire.xls.*;

public class AutoFit {
    public static void main(String[] args) {
        //创建一个Workbook类的对象,并加载测试文档
        Workbook wb = new Workbook();
        wb.loadFromFile("sample.xlsx");

        //获取工作表
        Worksheet sheet = wb.getWorksheets().get(0);

        //设置行高、列宽为自适应(应用于指定数据范围)
        sheet.getAllocatedRange().get("A1:E14").autoFitRows();
        sheet.getAllocatedRange().get("A1:E14").autoFitColumns();

        /*//设置行高、列宽为自适应(应用于整个工作表)
        sheet.getAllocatedRange().autoFitRows();
        sheet.getAllocatedRange().autoFitColumns();*/

        //保存文档
        wb.saveToFile("result.xlsx", FileFormat.Version2010);
        wb.dispose();
    }
}

自适应设置效果:

 

2. 缩小数据字体大小适应列宽

import com.spire.xls.*;

public class ShrinkToFit {
    public static void main(String[] args) {
        Workbook wb = new Workbook();
        wb.loadFromFile("test.xlsx");
        //获取第一张工作表
        Worksheet sheet = wb.getWorksheets().get(0);

        //指定需要自动缩小字体的单元格范围
        CellRange cell = (CellRange) sheet.get("A1");

        //设置ShrinkToFit为true,缩小数据以适应单元格
        cell.getStyle().setShrinkToFit(true);

        //保存文档
        wb.saveToFile("ShrinkTextToFitCell.xlsx", ExcelVersion.Version2013);
        wb.dispose();
    }
}

文本缩小效果:




(本文完)