C#控制台程序中展示表格 (ConsoleTable类库的使用)

C# 控制台中展示表格

有时我们需要在控制台程序中以表格的形式展示数据,刚好有一个叫ConsoleTable的第三方库可以实现,使用这个库,可以让开发人员很轻松的将一组对象以表格的形式展示在控制台中。而且这个库写的非常简洁,只有一个cs文件,我读了源代码,确实写得水平非常高。

Have you ever just wanted to output flat structured POCO out to console? Sure you have! This class will let you print a nicely formatted table right to your console as easily as possible.

文章目录

      • C# 控制台中展示表格
        • 1. ConsoleTable 安装及使用
        • 2. 以特定格式打印表格
        • 3. 将对象打印成表格
        • 4. 配置表格格式的参数

1. ConsoleTable 安装及使用

ConsoleTables GitHub项目地址:ConsoleTables

我们可以通过NuGet来安装,执行命令或者用vs的NuGet管理控制台来完成安装。

Install-Package ConsoleTables -Version 2.4.1

引用命名空间 using ConsoleTables;后即可使用。

2. 以特定格式打印表格

用ConsoleTables类库打印表格可以有三种形式,分别是默认格式,markdown格式,以及交替格式和最简格式。下面举例说明。

var table = new ConsoleTable("one", "two", "three");
table.AddRow(1, 2, 3)
	 .AddRow("this line should be longer", "yes it is", "oh");
// 默认格式的表格
Console.WriteLine("\nFORMAT: Default:\n");
table.Write();
// Markdwon格式的表格
Console.WriteLine("\nFORMAT: MarkDown:\n");
table.Write(Format.MarkDown);
// 交替格式的表格
Console.WriteLine("\nFORMAT: Alternative:\n");
table.Write(Format.Alternative);
Console.WriteLine();
// 最简格式的表格
Console.WriteLine("\nFORMAT: Minimal:\n");
table.Write(Format.Minimal);
Console.WriteLine();
// 以表格形式展示
table = new ConsoleTable("I've", "got", "nothing");
table.Write();
Console.WriteLine();
  • 运行效果截图:
    C#控制台程序中展示表格 (ConsoleTable类库的使用)_第1张图片
3. 将对象打印成表格

也可将可枚举的对象打印成表格,下面举例如下。

  1. 先创建一个可枚举的对象,我们按照官方的实例来。
public class Something
{
	public Something()
	{
		Id = Guid.NewGuid().ToString("N");
		Name = "Khalid Abuhkameh";
		Date = DateTime.Now;
	}

	public string Id { get; set; }
	public string Name { get; set; }
	public DateTime Date { get; set; }
	public int NumberOfChildren { get; set; }
}
  1. 打印可枚举的对象
// 打印10行数据
var rows = Enumerable.Repeat(new Something(), 10);
ConsoleTable.From<Something>(rows).Write();
// 打印0行数据
rows = Enumerable.Repeat(new Something(), 0);
ConsoleTable.From<Something>(rows).Write();
  • 执行效果截图
    C#控制台程序中展示表格 (ConsoleTable类库的使用)_第2张图片
4. 配置表格格式的参数

我们还可以配置表格的格式,比如第2列数据靠右对齐,配置是否显示表格行数等。

// 配置 NumberAlignment 列数据右居中
Console.WriteLine("\nNumberAlignment = Alignment.Right\n");
rows = Enumerable.Repeat(new Something(), 2);
ConsoleTable
	.From(rows)
	.Configure(o => o.NumberAlignment = Alignment.Right)
	.Write();

// 配置不显示表格的行数
var noCount =
new ConsoleTable(new ConsoleTableOptions
{
	Columns = new[] { "one", "two", "three" },
	EnableCount = false
});

noCount.AddRow(1, 2, 3).Write();
  • 执行效果截图
    C#控制台程序中展示表格 (ConsoleTable类库的使用)_第3张图片

你可能感兴趣的:(.NET,c#)