<MyRusakov.ru />

Финансовая грамотность от А до Я

Финансовая грамотность от А до Я

Данный курс в кратчайшие сроки обучит Вас финансовой грамотности. Эти знания позволят Вам получить, как минимум, серьёзную финансовую стабильность, а, как максимум, финансовую независимость.

В рамках курса даётся большое количество практических заданий, благодаря которым Вы не просто посмотрите курс, а действительно выполните ряд важнейших шагов, о которых в нём говорится.

Помимо самого курса Вас ждёт ещё бесплатный ценный Бонус: «Ранний выход на пенсию». В рамках этого Бонуса Вы узнаете, какой должен быть капитал конкретно в Вашем случае, варианты его получения, а также какие есть стратегии вывода капитала на пенсии и где их можно протестировать.

Подробнее
Подписка

Подпишитесь на мой канал на YouTube, где я регулярно публикую новые видео.

YouTube Подписаться

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Какая тема Вас интересует больше?

Как экспортировать DataTable в HTML в С#?

Как экспортировать DataTable в HTML в С#?

Доброго времени суток! В данной статье мы рассмотрим с Вами как можно преобразовать объект DataTable в HTML на платформе .Net.

DataTable в C# - представляет таблицу данных в памяти. Часто является результатом выполнения запроса к базе данных, т.е. хранит в себе строки результата SQL-запроса.

При решении прикладных задач часто приходиться сохранять (экспортировать) данные из DataTable в некоторый более удобный формат, пригодный для последующего чтения и передачи. Одним из таких форматов является HTML. В примере ниже мы рассмотрим один из вариантов реализации экспорта DataTable в HTML.


internal class DataTableUtils
{
    public static string Convert2Html(DataTable dataTable)
    {
        var code = "<table border=\"1\" align=\"center\">";

        // Добавляем заголовок таблицы
        code += "<tr>";
        for (int i = 0; i < dataTable.Columns.Count; i++)
            code += "<th>" + dataTable.Columns[i].ColumnName + "</th>";
        code += "</tr>";

        // Добавляем строки
        for (int i = 0; i < dataTable.Rows.Count; i++)
        {
            code += "<tr>";
            for (int j = 0; j < dataTable.Columns.Count; j++)
                code += "<td>" + dataTable.Rows[i][j].ToString() + "</td>";
            code += "</tr>";
        }

        code += "</table>";
        return code;
    }

    // конвертируем в полноценный HTML документ с заголовком
    public static string Convert2HtmlEx(DataTable dataTable, string title)
    {
        return $@"
            <!DOCTYPE html>
            <html lang=""en"">
                <head>
                    <meta charset=""UTF-8"">
                    <meta http-equiv=""X-UA-Compatible"" content=""IE=edge"">
                    <meta name=""viewport"" content=""width=device-width, initial-scale=1.0"">
                    <title>{title}</title>
                </head>
                <body>
                {Convert2Html(dataTable)}
                </body>
            </html>
        ";
    }
}

Использовать можно следующим образом:


class Program
{
    static void Main(string[] args)
    {
        Export2HtmlButton_Click(null, null);
    }


    private void Export2HtmlButton_Click(object sender, EventArgs e)
    {
        var dataTable = QueryResultDataGridView_.DataSource as DataTable;

        if(dataTable?.Rows.Count == 0)
        {
            MessageBox.Show(Text, "Нет данных");
            return;
        }

        var content = DataTableUtils.Convert2HtmlEx(dataTable, "Отчет");

        File.WriteAllText(@$"С:\Downloads\Отчет.html", content);
    }
}

Вот таким образом можно сохранить результат, например, выборки из базы данных в HTML-файл в С#.

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (0):

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.