{"id":23810092,"url":"https://github.com/desmond60/watchtable","last_synced_at":"2025-09-06T18:32:23.595Z","repository":{"id":63840773,"uuid":"530917986","full_name":"desmond60/WatchTable","owner":"desmond60","description":"Library for creating tables","archived":false,"fork":false,"pushed_at":"2023-03-17T08:19:09.000Z","size":118,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-01T23:48:24.591Z","etag":null,"topics":["c-sharp","c-sharp-library","cs","dotnet","library","table"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/desmond60.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-08-31T03:10:50.000Z","updated_at":"2022-12-18T06:17:57.000Z","dependencies_parsed_at":"2023-01-26T06:01:38.891Z","dependency_job_id":null,"html_url":"https://github.com/desmond60/WatchTable","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/desmond60%2FWatchTable","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/desmond60%2FWatchTable/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/desmond60%2FWatchTable/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/desmond60%2FWatchTable/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/desmond60","download_url":"https://codeload.github.com/desmond60/WatchTable/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":232137220,"owners_count":18477791,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["c-sharp","c-sharp-library","cs","dotnet","library","table"],"created_at":"2025-01-02T00:12:09.945Z","updated_at":"2025-01-02T00:12:10.771Z","avatar_url":"https://github.com/desmond60.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg height=\"200\" src=\"img/logo.png\"/\u003e \n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://en.wikipedia.org/wiki/C_Sharp_(programming_language)\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/C Sharp-11-blue.svg?cacheSeconds=2592000\" alt=\"language\"/\u003e\n  \u003c/a\u003e\t\n   \u003ca href=\"https://github.com/desmond60/WatchTable/blob/main/LICENSE.md\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/License-MIT-yellowgreen.svg\" alt=\"license\"/\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://ru.wikipedia.org/wiki/.NET\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/.NET-7.0-important.svg?cacheSeconds=2592000\" alt=\"standart\"/\u003e\n  \u003c/a\u003e\n  \u003cimg src=\"https://img.shields.io/badge/version-1.0-green.svg?cacheSeconds=2592000\" alt=\"version\"/\u003e\n\u003c/p\u003e\n\n***\n\n## Содержание \u003ca name=\"content\"\u003e\u003c/a\u003e\n* [Добавление библиотеки в приложение](#add-project)\n    * [Первый способ](#first-way)\n    * [Второй способ](#second-way)\n    * [Третий способ](#third-way)\n* [Создание таблицы](#create-table)\n* [Запись таблицы в файл TXT](#write-txt)\n* [Запись таблицы в файл CSV](#write-csv)\n* [Изменение стиля таблицы](#edit-table)\n\n***\n\n## Добавление библиотеки в проект \u003ca name=\"add-project\"\u003e\u003c/a\u003e\n\nДобавить библиотеку в проект С# можно двумя способами. \n\nВ первом способе вы можете редактировать библиотеку под свой вкус.\n\nВо втором способе такой возможности не будет.\n\n### Первый способ \u003ca name=\"first-way\"\u003e\u003c/a\u003e\nДобавление проекта библиотеки в ваше приложение.\n\nОтсюда https://github.com/desmond60/WatchTable/releases/tag/v1.0 скачиваем `Source code` или клонируем репозиторий https://github.com/desmond60/WatchTable.git. Путь к проекту библиотеки у меня вглядит следующим образом: `\"D:\\Program Files\\Libraries\\WatchTable\"`\n\nДалее создадим консольное приложение.\n```PS\ndotnet new console -o TestingLib\n```\n\nДобавим в созданное консольное приложение ссылку на проект библиотеки.\n```PS\ndotnet add \"TestingLib/TestingLib.csproj\" reference \"D:/Program Files/Libraries/WatchTable/WatchTable.csproj\"\n```\n\nВ `Program.cs` добавим:\n```C#\nusing WatchTable;\n```\n\n### Второй способ \u003ca name=\"second-way\"\u003e\u003c/a\u003e\nДобавление библиотеки (dll) в ваше приложение.\n\nОтсюда https://github.com/desmond60/WatchTable/releases/tag/v1.0 скачиваем `WatchTable.zip`. И кладем dll в проект, например `\"lib/WatchTable.dll\"`\n\nВ файл проекта (.csproj) добавляем следующее:\n```XML\n  \u003cItemGroup\u003e\n    \u003cReference Include=\"Table\"\u003e\n      \u003cHintPath\u003elib\\WatchTable.dll\u003c/HintPath\u003e\n    \u003c/Reference\u003e\n  \u003c/ItemGroup\u003e\n```\n\nВ `Program.cs` добавим:\n```C#\nusing WatchTable;\n```\n\n### Третий способ \u003ca name=\"third-way\"\u003e\u003c/a\u003e\nДобавление библиотеки через NuGet Gallery.\n\nЗдесь можно посмотреть команду https://github.com/desmond60/WatchTable/packages/1733308\n\n***\n\n## Создание таблицы \u003ca name=\"create-table\"\u003e\u003c/a\u003e\n\n```C#\n// Создание\nTable table = new Table(\"MyTable\");\n\n// Добавление названия и ширины столбца\ntable.AddColumn(\n    (\"Number\", 6),\n    (\"Variable\", 15),\n    (\"Value\", 10)\n);\n\n// Добавление строк\nfloat Variable = 1e-15f;\ntable.AddRow(\"1\", \"X\", \"10\");\ntable.AddRow(\"1\", \"Y\", \"-5\");\ntable.AddRow(\"1\", \"Variable\", Variable.ToString(\"E2\"));\n\n// Вывод\nSystem.Console.WriteLine(table.ToString());\n```\n\n```\n+------+---------------+----------+\n|             MyTable             |\n+------+---------------+----------+\n|Number|Variable       |Value     |\n+------+---------------+----------+\n|1     |X              |10        |\n+------+---------------+----------+\n|1     |Y              |-5        |\n+------+---------------+----------+\n|1     |Variable       |1,00E-015 |\n+------+---------------+----------+\n```\n\n***\n\n## Запись таблицы в файл txt \u003ca name=\"write-txt\"\u003e\u003c/a\u003e\n\nЧтобы записать табличку в текстовый (.txt) файл, используйте функцию:\n\n```C#\ntable.WriteToFile(@\"table.txt\");\n```\n\n***\n\n## Запись таблицы в файл CSV \u003ca name=\"write-csv\"\u003e\u003c/a\u003e\n\nЧтобы записать табличку в файл (.csv), нужно установить `Nuget-пакет CsvHelper` и использовать функцию:\n\n```C#\ntable.WriteToCSV(@\"table.csv\");\n```\n\n***\n\n## Изменение стиля таблицы \u003ca name=\"edit-table\"\u003e\u003c/a\u003e\n\nВозможно понадобиться изменить кодировку консоли для полноценного вывода.\n\n```C#\nConsole.OutputEncoding = System.Text.Encoding.UTF8;\n```\n\nЧтобы изменить таблицу, используйте свойства:\n\n```C#\ntable.Corner = \"\\u2665\";\ntable.Separator = \"\\u2504\";\n```\n\n```\n♥┄┄┄┄┄┄♥┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄♥┄┄┄┄┄┄┄┄┄┄♥\n|             MyTable             |\n♥┄┄┄┄┄┄♥┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄♥┄┄┄┄┄┄┄┄┄┄♥\n|Number|Variable       |Value     |\n♥┄┄┄┄┄┄♥┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄♥┄┄┄┄┄┄┄┄┄┄♥\n|1     |X              |10        |\n♥┄┄┄┄┄┄♥┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄♥┄┄┄┄┄┄┄┄┄┄♥\n|1     |Y              |-5        |\n♥┄┄┄┄┄┄♥┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄♥┄┄┄┄┄┄┄┄┄┄♥\n|1     |Variable       |1,00E-015 |\n♥┄┄┄┄┄┄♥┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄♥┄┄┄┄┄┄┄┄┄┄♥\n```\n\n### [Вернуться к содержимому](#content)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdesmond60%2Fwatchtable","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdesmond60%2Fwatchtable","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdesmond60%2Fwatchtable/lists"}