Вот мой примерный код того, что я пытаюсь сделать, можете ли вы привести пример синтаксиса, чтобы сделать это возможным?
Выбор запроса будет запущен для отображения данных в datalist, и после этого, если кнопка нажата, результаты будут записаны в файл HTML.
Загрузка страницы
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
DataList();
}
}
Список данных
public void DataList()
{
String testcon = System.Configuration.ConfigurationManager.ConnectionStrings["TestConnection"].ToString();
MySqlConnection con = new MySqlConnection(testcon );
con.Open();
MySqlCommand cmd = con.CreateCommand();
cmd.CommandType = CommandType.Text;
cmd.CommandText = "SELECT * From ExampleTable";
cmd.ExecuteNonQuery();
DataSet ds = new DataSet();
MySqlDataAdapter da = new MySqlDataAdapter(cmd);
da.Fill(ds);
DataList1.DataSource = ds;
DataList1.DataBind();
con.Close();
}
Нажмите кнопку
protected void Button1_Click(object sender, EventArgs e)
{
string path = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
using (FileStream fs = new FileStream((path + "\\Sample.html"), FileMode.Create))
{
using (StreamWriter w = new StreamWriter(fs, Encoding.UTF8))
{
w.WriteLine("<html>");
w.WriteLine("</head>");
w.WriteLine("<body>");
w.WriteLine("DataList(ItemTemplate)");
w.WriteLine("</body>");
w.WriteLine("</html>");
}
LabelDisplay.Text = "File Successfully Created @ " + ((path + "\\Sample.html"));
}
}
Session ["DataList"] = ds.tables [0];
Вы можете скопировать вставку метод ниже, который преобразует данные в строку html.
protected string ExportDatatableToHtml(DataTable dt)
{
StringBuilder strHTMLBuilder = new StringBuilder();
strHTMLBuilder.Append("<html >");
strHTMLBuilder.Append("<head>");
strHTMLBuilder.Append("</head>");
strHTMLBuilder.Append("<body>");
strHTMLBuilder.Append("<table border='1px' cellpadding='1' cellspacing='1' bgcolor='lightyellow' style='font-family:Garamond; font-size:smaller'>");
strHTMLBuilder.Append("<tr >");
foreach (DataColumn myColumn in dt.Columns)
{
strHTMLBuilder.Append("<td >");
strHTMLBuilder.Append(myColumn.ColumnName);
strHTMLBuilder.Append("</td>");
}
strHTMLBuilder.Append("</tr>");
foreach (DataRow myRow in dt.Rows)
{
strHTMLBuilder.Append("<tr >");
foreach (DataColumn myColumn in dt.Columns)
{
strHTMLBuilder.Append("<td >");
strHTMLBuilder.Append(myRow[myColumn.ColumnName].ToString());
strHTMLBuilder.Append("</td>");
}
strHTMLBuilder.Append("</tr>");
}
//Close tags.
strHTMLBuilder.Append("</table>");
strHTMLBuilder.Append("</body>");
strHTMLBuilder.Append("</html>");
string Htmltext = strHTMLBuilder.ToString();
return Htmltext;
}
После этого метода вы можете вызвать этот метод и преобразовать его в html файл, как показано ниже.
string content = ExportDatatableToHtml((DataTable)Session["DataList"]);
System.IO.File.WriteAllText(@"C:\sample.html", contents);
Если мой пост помогает решить ваш вопрос, любезно проверьте зеленый тик и вверх этот ответ