fc2ブログ

【ClosedXML】 列・行のサイズ自動調整

 ClosedXMLには行や列のサイズを自動調整する機能が搭載されています。
 やり方は非常に簡単で、自動調整したい行や列に対してAdjustToContentsメソッドを使用するだけです。
using ClosedXML.Excel;
using System;
using System.IO;

namespace ClosedXml20
{
    class Program
    {
        static void Main(string[] args)
        {
            var filePath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), "Book.xlsx");

            using(var book = new XLWorkbook(XLEventTracking.Disabled))
            {
                var sheet = book.AddWorksheet("シート1");

                sheet.Cell("A1").Value = "ABCDEFGHIJKLMN";

                // 自動調整されたかどうかを解りやすくするために小さいサイズに変更
                sheet.Column("A").Width = 1;
                sheet.Row(1).Height = 1;
                
                // A列の幅を自動調整する
                sheet.Column("A").AdjustToContents();

                // 同様に行の高さを自動調整することもできる(あまり使わないけど)
                sheet.Row(1).AdjustToContents();

                // 表全体をまとめて調整する場合は
                sheet.ColumnsUsed().AdjustToContents();

                book.SaveAs(filePath);
            }
        }
    }
}
 このサンプルコードでは自動調整の結果を解りやすくするためにA列、1行目のサイズを1に設定しています。
 サイズの自動調整を行いたい行や列に対してAdjustToContents()を使用します。
 複数行(列)に対してAdjustToContents()を使用することもできます。
 表で使用している列を自動調整したい場合はColumnsUsedメソッドを利用すると簡単にサイズ調整ができます。
 このコードを実行すると以下の様になります。
幅・高さの自動調整
 残念なことに、セルに入力されている値が日本語の場合は自動調整がうまく機能しないようです。
 サイズは変更されるのですが、入力値にフィットしていない感じになります。
 大変便利な機能ですが、セルに入力されている値が非常に長い文字列の場合は自動調整すると表が見づらくなります。
 ご利用は計画的に。  
スポンサーサイト



テーマ : プログラミング
ジャンル : コンピュータ

カレンダー
03 | 2015/04 | 05
- - - 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 - -
全記事表示リンク

全ての記事を表示する

カテゴリ
タグリスト

月別アーカイブ
04  10  11  09  08  07  06  05  04  03  02  01  12  11  10  09  08  07  06  04  03  02  01  12  11  10  09  08  07  06  05  04  03  02  01  12  11  10  09 
最新記事
リンク
最新コメント
検索フォーム
Amazon