Excel表格中,因爲各類數據的複雜性,可能存在單元格中的數據字號大小、數據內容長度不一而出現,列寬過寬、過窄或者行高過大、太小的問題。常見的解決方法是調整行高、列寬。在Microsoft Excel中,在單元格格式設置中可手動設置自適應行高或自適應列寬,但經過代碼,咱們能夠經過方法AutoFitColumns()或者AutoFitRows()來設置指定數據範圍或整個工做表的自適應行高、列寬。這裏設置自適應分如下2種狀況來進行:html
1. 固定數據,設置行高、列寬自適應數據ide
2. 固定行高、列寬,設置數據自適應行高、列寬(即縮小單元格數據字體大小適應單元格)工具
使用工具:Free Spire.XLS for .NET(免費版)測試
注:注意在下載安裝後,添加引用Spire.Xls.dll文件,以下圖:字體
Step 1: 加載工做簿spa
//建立一個Workbook類的對象,並加載測試文檔 Workbook workbook = new Workbook(); workbook.LoadFromFile("sample.xlsx");
Step 2: 獲取指定工做表code
Worksheet worksheet = workbook.Worksheets[0];
Step 3:設置自適應orm
//設置列寬、行高爲自適應(應用於指定數據範圍) worksheet.AllocatedRange["A1:F15"].AutoFitColumns(); worksheet.AllocatedRange["A1:F15"].AutoFitRows(); ////設置列寬、行高爲自適應(應用於整個工做表) //worksheet.AllocatedRange.AutoFitColumns(); //worksheet.AllocatedRange.AutoFitRows();
Step 4:保存文檔htm
workbook.SaveToFile("result.xlsx", FileFormat.Version2010);
設置效果:對象
所有代碼:
using Spire.Xls; namespace AutoFit_XLS { class Program { static void Main(string[] args) { //建立一個Workbook類的對象,並加載測試文檔 Workbook workbook = new Workbook(); workbook.LoadFromFile("sample.xlsx"); //獲取工做表 Worksheet worksheet = workbook.Worksheets[0]; //設置列寬、行高爲自適應(應用於指定數據範圍) worksheet.AllocatedRange["A1:F15"].AutoFitColumns(); worksheet.AllocatedRange["A1:F15"].AutoFitRows(); ////設置列寬、行高爲自適應(應用於整個工做表) //worksheet.AllocatedRange.AutoFitColumns(); //worksheet.AllocatedRange.AutoFitRows(); //保存文檔 workbook.SaveToFile("result.xlsx", FileFormat.Version2010); System.Diagnostics.Process.Start("result.xlsx"); } } }
Step 1:加載工做簿
//實例化Workbook類的對象,並加載測試文檔 Workbook workbook = new Workbook(); workbook.LoadFromFile("test.xlsx");
Step 2:獲取指定工做表
Worksheet sheet = workbook.Worksheets[0];
Step 3: 獲取指定數據範圍
CellRange cell = sheet.Range["A1:C1"];
Step 4: 縮小單元格字體以適應列寬
CellStyle style = cell.Style; style.ShrinkToFit = true;
Step 5: 保存文檔
workbook.SaveToFile("result.xlsx", ExcelVersion.Version2013);
設置結果:
所有代碼:
using Spire.Xls; namespace ShrinkTextToFitCell_XLS { class Program { static void Main(string[] args) { //實例化Workbook類的對象,並加載測試文檔 Workbook workbook = new Workbook(); workbook.LoadFromFile("test.xlsx"); //獲取第一個工做表 Worksheet sheet = workbook.Worksheets[0]; //獲取指定數據範圍 CellRange cell = sheet.Range["A1:C1"]; //設置單元格樣式(數據縮小以適應單元格) CellStyle style = cell.Style; style.ShrinkToFit = true; //保存文檔 workbook.SaveToFile("result.xlsx", ExcelVersion.Version2013); System.Diagnostics.Process.Start("result.xlsx"); } } }
(本文完)