在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(); } }
文本縮小效果:

(本文完)