溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

詳解C#設(shè)置Excel數(shù)據(jù)自適應(yīng)行高、列寬的2種情況

發(fā)布時間:2020-09-18 19:11:54 來源:腳本之家 閱讀:300 作者:E-iceblue 欄目:編程語言

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

1. 固定數(shù)據(jù),設(shè)置行高、列寬自適應(yīng)數(shù)據(jù)

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

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

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

詳解C#設(shè)置Excel數(shù)據(jù)自適應(yīng)行高、列寬的2種情況

【示例1】固定數(shù)據(jù),設(shè)置行高、列寬自適應(yīng)數(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è)置自適應(yīng)

//設(shè)置列寬、行高為自適應(yīng)(應(yīng)用于指定數(shù)據(jù)范圍)
worksheet.AllocatedRange["A1:F15"].AutoFitColumns();
worksheet.AllocatedRange["A1:F15"].AutoFitRows();

////設(shè)置列寬、行高為自適應(yīng)(應(yīng)用于整個工作表)
//worksheet.AllocatedRange.AutoFitColumns();
//worksheet.AllocatedRange.AutoFitRows();

Step 4:保存文檔

workbook.SaveToFile("result.xlsx", FileFormat.Version2010);

設(shè)置效果:

詳解C#設(shè)置Excel數(shù)據(jù)自適應(yīng)行高、列寬的2種情況

全部代碼:

 

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è)置列寬、行高為自適應(yīng)(應(yīng)用于指定數(shù)據(jù)范圍)
      worksheet.AllocatedRange["A1:F15"].AutoFitColumns();
      worksheet.AllocatedRange["A1:F15"].AutoFitRows();

      ////設(shè)置列寬、行高為自適應(yīng)(應(yīng)用于整個工作表)
      //worksheet.AllocatedRange.AutoFitColumns();
      //worksheet.AllocatedRange.AutoFitRows();

      //保存文檔
      workbook.SaveToFile("result.xlsx", FileFormat.Version2010);
      System.Diagnostics.Process.Start("result.xlsx");
    }
  }
}

 【示例2】固定行高、列寬,設(shè)置數(shù)據(jù)自適應(yīng)行高、列寬

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: 縮小單元格字體以適應(yīng)列寬

CellStyle style = cell.Style;
style.ShrinkToFit = true;

Step 5: 保存文檔

workbook.SaveToFile("result.xlsx", ExcelVersion.Version2013);

設(shè)置結(jié)果:

詳解C#設(shè)置Excel數(shù)據(jù)自適應(yīng)行高、列寬的2種情況

全部代碼:

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è)置單元格樣式(數(shù)據(jù)縮小以適應(yīng)單元格)
      CellStyle style = cell.Style;
      style.ShrinkToFit = true;

      //保存文檔
      workbook.SaveToFile("result.xlsx", ExcelVersion.Version2013);
      System.Diagnostics.Process.Start("result.xlsx");
    }
  }
}

以上所述是小編給大家介紹的C#設(shè)置Excel數(shù)據(jù)自適應(yīng)行高、列寬的2種情況詳解整合,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對億速云網(wǎng)站的支持!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI