Excel表格中,由于各種數(shù)據(jù)的復雜性,可能存在單元格中的數(shù)據(jù)字號大小、數(shù)據(jù)內(nèi)容長度不一而出現(xiàn),列寬過寬、過窄或者行高過大、過小的問題。常見的解決方法是調(diào)整行高、列寬。在Microsoft Excel中,在單元格格式設置中可手動設置自適應行高或自適應列寬,但通過代碼,我們可以通過方法AutoFitColumns()或者AutoFitRows()來設置指定數(shù)據(jù)范圍或整個工作表的自適應行高、列寬。這里設置自適應分以下2種情況來進行:
1. 固定數(shù)據(jù),設置行高、列寬自適應數(shù)據(jù)
2. 固定行高、列寬,設置數(shù)據(jù)自適應行高、列寬(即縮小單元格數(shù)據(jù)字體大小適應單元格)
使用工具:Free Spire.XLS for .NET(免費版)
注:注意在下載安裝后,添加引用Spire.Xls.dll文件,如下圖:

【示例1】固定數(shù)據(jù),設置行高、列寬自適應數(shù)據(jù)
Step 1: 加載工作簿
//創(chuàng)建一個Workbook類的對象,并加載測試文檔Workbook workbook = new Workbook();workbook.LoadFromFile("sample.xlsx");Step 2: 獲取指定工作表
Worksheet worksheet = workbook.Worksheets[0];
Step 3:設置自適應
//設置列寬、行高為自適應(應用于指定數(shù)據(jù)范圍)worksheet.AllocatedRange["A1:F15"].AutoFitColumns();worksheet.AllocatedRange["A1:F15"].AutoFitRows();////設置列寬、行高為自適應(應用于整個工作表)//worksheet.AllocatedRange.AutoFitColumns();//worksheet.AllocatedRange.AutoFitRows();
Step 4:保存文檔
workbook.SaveToFile("result.xlsx", FileFormat.Version2010);設置效果:

全部代碼:
using Spire.Xls;namespace AutoFit_XLS{ class Program { static void Main(string[] args) { //創(chuàng)建一個Workbook類的對象,并加載測試文檔 Workbook workbook = new Workbook(); workbook.LoadFromFile("sample.xlsx"); //獲取工作表 Worksheet worksheet = workbook.Worksheets[0]; //設置列寬、行高為自適應(應用于指定數(shù)據(jù)范圍) 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"); } }}【示例2】固定行高、列寬,設置數(shù)據(jù)自適應行高、列寬
Step 1:加載工作簿
//實例化Workbook類的對象,并加載測試文檔Workbook workbook = new Workbook();workbook.LoadFromFile("test.xlsx");Step 2:獲取指定工作表
Worksheet sheet = workbook.Worksheets[0];
Step 3: 獲取指定數(shù)據(jù)范圍
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]; //獲取指定數(shù)據(jù)范圍 CellRange cell = sheet.Range["A1:C1"]; //設置單元格樣式(數(shù)據(jù)縮小以適應單元格) CellStyle style = cell.Style; style.ShrinkToFit = true; //保存文檔 workbook.SaveToFile("result.xlsx", ExcelVersion.Version2013); System.Diagnostics.Process.Start("result.xlsx"); } }}以上所述是小編給大家介紹的C#設置Excel數(shù)據(jù)自適應行高、列寬的2種情況詳解整合,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網(wǎng)網(wǎng)站的支持!
新聞熱點
疑難解答