0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

C#で行と列をフリーズまたはフリーズ解除する

Posted at

大きなExcelワークブックを操作する際、特定の行や列を固定したままデータをスクロールするために、ワークシート内のペインをフリーズする必要がある場合があります。ペインをフリーズすることで、複雑なデータセットをより簡単にナビゲートできるようになります。逆に、ペインの凍結を解除すると、より包括的なビューが得られます。

この記事では、無料の.NETライブラリを使用して、C#でExcelの行や列をフリーズまたはフリーズ解除する方法を紹介します。

無料の.NET Excelライブラリ

このタスクには、Excelドキュメントに対する様々な操作をサポートする無償ライブラリFree Spire.XLS for .NETが必要です。
Nuget経由で直接インストールするか、このリンクからダウンロードしてDllを手動で参照してください。

PM> Install-Package FreeSpire.XLS

C#でExcelの行と列をフリーズする

Free Spire.XLS for .NET ライブラリは、Excel の行と列を凍結する Worksheet.FreezePanes(int rowIndex, int columnIndex) メソッドを提供します。2つのパラメータは次のとおりです:

  • rowIndex: 行のインデックスを示します(インデックスは1から始まります)。その行より上のすべての行が凍結される。
  • columnIndex: 列のインデックスを示す(インデックスは1から始まる)。その列の左側にあるすべての列が凍結される。

したがって、最初の行を凍結するには、FreezePanes(2, 1) メソッドを使用します;
最初の列を凍結するには、FreezePanes(1, 2) メソッドを使用します;
最初の行と最初の列の両方をフリーズするには、FreezePanes(2, 2) メソッドを使用します。

以下はExcelの行や列をフリーズさせるC#のサンプルコードです:

using Spire.Xls;
 
namespace FreezeTopRow
{
    class Program
    {
        static void Main(string[] args)
        {
            // Excel文書を読み込む
            Workbook workbook = new Workbook();
            workbook.LoadFromFile(@"C:\Users\Administrator\Desktop\Test.xlsx");
 
            //最初のワークシートを取得する
            Worksheet sheet = workbook.Worksheets[0];
 
            //最初の行を凍結する
            sheet.FreezePanes(2, 1);
 
            //最初の列を凍結
            //sheet.FreezePanes(1, 2);
 
            //最初の行と最初の列をフリーズさせる
           //sheet.FreezePanes(2, 2);
 
            //最初の3列を凍らせる
            //sheet.FreezePanes(4, 1);
 
            //ドキュメントを保存する
            workbook.SaveToFile("FreezeExcelRowsColumns.xlsx", ExcelVersion.Version2016);
        }
    }
}

C#でExcelの行と列の凍結を解除する

フリーズを解除するには、Worksheet.RemovePanes() メソッドを直接使用します。以下はそのサンプル・コードです:

using Spire.Xls;
namespace UnfreezeExcelPane
{
    class Program
    {
 
        static void Main(string[] args)
        {
            // Excel文書を読み込む
            Workbook workbook = new Workbook();
            workbook.LoadFromFile("FreezeExcelRowsColumns.xlsx");
 
            //最初のワークシートを取得する
            Worksheet sheet = workbook.Worksheets[0];
 
            //ワークシートの行または列の凍結を解除する
            sheet.RemovePanes();
 
            //ドキュメントを保存する
            workbook.SaveToFile("UnfreezeRowsColumns.xlsx", ExcelVersion.Version2016);
 
        }
    }
}

APIリファレンス:

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?