Что такое WPF?
Windows Presentation Foundation — один из компонентов ядра .NET Framework, который позволяет разработчикам создавать богатые, различные Windows приложения.
Как создать HTML документа в WPF приложении?
Для того чтобы создать HTML файл в приложении WPF, нужно для начала создать функцию и вызвать её после инициализации компонентов:
// Создание HTML void CreateHTML() { }
Далее подключить две библиотеки:
using System.IO; using System.Diagnostics;
Первая библиотека отвечает за создание и чтение файлов, а вторая за создание процессов, т.е. открытие программ из приложения. Теперь необходимо создать переменную содержащую в себе название файла и сам файл с данным именем:
string path = "index.html"; // название файла StreamWriter sw = new StreamWriter(path); // создаём файл
Теперь нужно создать небольшой макет, в котором будут отображаться данные:
<html>
<head>
<title>HTML File</title>
<style>
body {
background - color: #81ff81;
}
.page {
width: 80%;
margin: 10px auto;
background-color: #fff;
padding: 50px;
}
td {
border: 1px solid black;
padding: 10px 20px;
width: 200px;
}
</style>
</head>
<body>
<div class = page>
<h2>Заголовок</h2>
<table cellspacing = 0 cellpadding = 0>
<tr>
<td><b>Фото</b></td>
<td><b>Логин</b></td>
<td><b>Пароль</b></td>
</tr>
<tr>
<td><b>Данные</b></td>
<td><b>Данные</b></td>
<td><b>Данные</b></td>
</tr>
</table>
</div>
</body>
</html>

Теперь следует разделить данные на три части:
- данные до второй строки (
- вторая строка;
- данные после третий строки (
В программе нужно прописать следующий код:
// создаём первую часть sw.WriteLine("
<html>
<head>
<title>HTML File</title>
<style>body {background-color: #81ff81;} .page {width: 80%; margin: 10px auto; background-color: #fff; padding: 50px; } td { border: 1px solid black; padding: 10px 20px; width: 200px; } </style>
</head>
<body>
<div class = page>
<h2>Заголовок</h2>
<table cellspacing = 0 cellpadding = 0>
<tr>
<td><b>Фото</b></td>
<td><b>Логин</b></td>
<td><b>Пароль</b></td>
</tr>
");
Далее стоит получить данные из базы данных и записать новые строки в файл:
DataTable dt_user = Select("SELECT * FROM [dbo].[users]"); // получаем данные из файла
for (int i = 0; i < dt_user.Rows.Count; i++) // перебираем данные
{ // записываем в файл
sw.WriteLine("<tr><td><b>" + dt_user.Rows[i][2].ToString() + "</b></td><td><b>"+ dt_user.Rows[i][0].ToString() + "</b></td><td><b>"+ dt_user.Rows[i][0].ToString() + "</b></td></tr>");
}
Предпоследним этапом записывается то что, осталось в третьей части HTML документа:
// конец файла sw.WriteLine("</table></div></body></html>");
Осталось только закрыть файл и вызвать процесс, который откроет браузер и файл в нём:
sw.Close(); // закрываем файл Process.Start("explorer.exe", path); // открываем в браузере
Весь код функции:
// Импорт данных
void CreateHTML() {
string path = "index.html"; // название файла
StreamWriter sw = new StreamWriter(path); // создаём файл // создаём первую часть
sw.WriteLine("<html><head><title>HTML File</title><style>body {background-color: #81ff81;} .page {width: 80%; margin: 10px auto; background-color: #fff; padding: 50px; } td { border: 1px solid black; padding: 10px 20px; width: 200px; } </style></head><body><div class = page><h2>Заголовок</h2><table cellspacing = 0 cellpadding = 0><tr><td><b>Фото</b></td><td><b>Логин</b></td><td><b>Пароль</b></td></tr>");
DataTable dt_user = Select("SELECT * FROM [dbo].[users]"); // получаем данные из файла
for (int i = 0; i < dt_user.Rows.Count; i++) // перебираем данные
{ // записываем в файл
sw.WriteLine("<tr><td><b>" + dt_user.Rows[i][2].ToString() + "</b></td><td><b>"+ dt_user.Rows[i][0].ToString() + "</b></td><td><b>"+ dt_user.Rows[i][0].ToString() + "</b></td></tr>");
} // конец файла
sw.WriteLine("</table></div></body></html>");
sw.Close(); // закрываем файл
Process.Start("explorer.exe", path); // открываем в браузере
}
После запуска программы можно увидеть, как программа запускает браузер и отображает в нём созданную HTML страницу.

Таким способом можно создать HTML документ из WPF приложения.
Автор статьи: Александр Каримов