Существуют ли библиотеки .NET, которые рисуют таблицу в консоли (textmode)? - PullRequest
2 голосов
/ 16 сентября 2009

При написании небольшого приложения для C # я понял, что было бы здорово, если бы я мог легко рисовать таблицы в текстовом режиме. Вы знаете, как это:

+-----------------+-----------------+
|     Header 1    |    Header 2     |
+--------+--------+--------+--------+
| Data 1 | Data 2 | Data 3 | Data 4 |
| Data 1 | Data 2 | Data 3 | Data 4 |
| Data 1 | Data 2 | Data 3 | Data 4 |
+--------+--------+--------+--------+

Быстрый поиск в Google ничего не показал. Есть ли что-нибудь подобное этому готовому, или я должен выкатить свой собственный?

Добавлено: Идеальная версия будет поддерживать:

  • Ряды строк / столбцов;
  • Различные ширины и стили границ;
  • Горизонтальное и вертикальное выравнивание текста

Но я согласен и на меньшее. :)

1 Ответ

9 голосов
/ 16 сентября 2009

Это тот, который вы ищете http://www.phpguru.org/static/ConsoleTable.html или же http://www.phpguru.org/downloads/csharp/ConsoleTable/ConsoleTable.cs

ConsoleTable table = new ConsoleTable();

table.AppendRow(new string[] {"foo", "bar", "jello"});
table.AppendRow(new string[] {"foo", "bar", "jello"});
table.AppendRow(new string[] {"foo", "bar", "jello"});
table.AppendRow(new string[] {"foo", "bar", "jello"});

table.SetHeaders(new string[] {"First Column", "Second Column", "Third Column"});
table.SetFooters(new string[] {"Yabba"});

table.InsertRow(new string[] {"", "ferfr", "frf        r"}, 7);
table.PrependRow(new string[] {});

System.Console.Write(table.ToString());

Produces...

+--------------+---------------+--------------+
| First Column | Second Column | Third Column |
+--------------+---------------+--------------+
|              |               |              |
| foo          | bar           | jello        |
| foo          | bar           | jello        |
| foo          | bar           | jello        |
| foo          | bar           | jello        |
|              |               |              |
|              |               |              |
|              |               |              |
|              | ferfr         | frf        r |
+--------------+---------------+--------------+
| Yabba        |               |              |
+--------------+---------------+--------------+
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...