C# 設置Excel數據自適應行高、列寬的2種情況


Excel表格中,由於各種數據的復雜性,可能存在單元格中的數據字號大小、數據內容長度不一而出現,列寬過寬、過窄或者行高過大、過小的問題。常見的解決方法是調整行高、列寬。在Microsoft Excel中,在單元格格式設置中可手動設置自適應行高或自適應列寬,但通過代碼,我們可以通過方法AutoFitColumns()或者AutoFitRows()來設置指定數據范圍或整個工作表的自適應行高、列寬。這里設置自適應分以下2種情況來進行:

1. 固定數據,設置行高、列寬自適應數據

2. 固定行高、列寬,設置數據自適應行高、列寬(即縮小單元格數據字體大小適應單元格)

使用工具Free Spire.XLS for .NET(免費版)

注:注意在下載安裝后,添加引用Spire.Xls.dll文件,如下圖:

 

【示例1】固定數據,設置行高、列寬自適應數據

 Step 1: 加載工作簿

//創建一個Workbook類的對象,並加載測試文檔
Workbook workbook = new Workbook();
workbook.LoadFromFile("sample.xlsx");

Step 2: 獲取指定工作表

Worksheet worksheet = workbook.Worksheets[0];

Step 3:設置自適應

//設置列寬、行高為自適應(應用於指定數據范圍)
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)
        {
            //創建一個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");
        }
    }
}
View Code

 

【示例2】固定行高、列寬,設置數據自適應行高、列寬

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");
        }
    }
}
View Code

 

(本文完)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM