Quantcast
Channel: C#タグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 9304

全角対応テキストテーブルライブラリ「FluentTextTable」を公開しました!

$
0
0

「オブジェクトを手軽にテーブル状にテキスト出力したい!」

そんなことを思ったことはありませんか?

これは何?

FluentTextTableは、柔軟で簡単な「全角文字に対応した」.NET用のテキストテーブルライブラリです。デバッグや簡単なツールなどに利用できます。

つぎのような簡単なコードから・・・

varusers=new[]{newUser{Id=1,Name="ビル・ゲイツ",Birthday=DateTime.Parse("1955/10/28")},newUser{Id=2,Name="スティーブ・ジョブズ",Birthday=DateTime.Parse("1955/2/24")}};Build.TextTable<User>().WriteLine(users);

このようにコンソールにテーブル状に値を表示することができます。

basicforjp.png

複雑なテーブルの書式を、簡単かつ流暢(Fluent)に設定できます。

Build.TextTable<User>(builder=>{builder.Borders.Horizontals.AllStylesAs("-").Borders.HeaderHorizontal.AllStylesAs("=").Columns.Add(x=>x.Id).HorizontalAlignmentAs(HorizontalAlignment.Right).Columns.Add(x=>x.Name).VerticalAlignmentAs(VerticalAlignment.Center).Columns.Add(x=>x.Birthday).VerticalAlignmentAs(VerticalAlignment.Bottom).FormatAs("{0:yyyy/MM/dd}").Columns.Add(x=>x.Occupations).FormatAs("- {0}");}).WriteLine(users);

formatted.png

つぎの書式のカスタマイズをサポートとしています。

  • 列指定(もしくは列自動生成)
  • オブジェクトのフォーマット
  • 水平・垂直アライメント
  • 罫線文字の変更
  • マージンとパディング

マークダウン形式での出力にもサポートしています。

Build.MarkdownTable<User>().WriteLine(users);

markdown.png

クイックスタート

.NET Framework 4.0以上、.NET Standard 2.0以上をサポートしています。NuGetからインストールして利用してください。

>Install-Package FluentTextTable

出力対象となるクラスを定義します。

publicclassUser{publicintId{get;set;}publicstringEnglishName{get;set;}publicstringJapaneseName{get;set;}publicDateTimeBirthday;}

Buildクラスを利用して出力対象クラス用のテーブルを作成します。

デフォルトではpublicなプロパティ・フィールドのすべてが出力の対象となります。

vartable=Build.TextTable<User>();

行に該当するオブジェクトを生成して、出力します。

varusers=new[]{newUser{Id=1,EnglishName="Bill Gates",JapaneseName="ビル・ゲイツ",Birthday=DateTime.Parse("1955/10/28")},newUser{Id=2,EnglishName="Steven Jobs",JapaneseName="スティーブ・ジョブズ",Birthday=DateTime.Parse("1955/2/24")}};Build.TextTable<User>().WriteLine(users);

詳細な利用方法

Githubに利用方法をまとめています。

機会があればぜひご利用ください!


Viewing all articles
Browse latest Browse all 9304

Trending Articles