C#中DataTable数据导出为HTML格式文件

/// <summary>
/// DataTable导出为HTML的Table并保存到本地
/// </summary>
/// <param name="dt">需要导出的数据源</param>
/// <param name="filename">保存文件名</param>
private void exportDataTableToHtml(DataTable dt, string filename)
{
    StringBuilder strhtml = new StringBuilder();
    strhtml.Append("<!DOCTYPE html>");
    strhtml.Append("<html lang=\"en\">");
    strhtml.Append("<head>");
    strhtml.Append("<meta charset=\"utf-8\" />");
    strhtml.Append("<title>" + filename + "</title>");
    strhtml.Append("<meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\">");
    strhtml.Append("<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />");
    strhtml.Append("</head>");
    strhtml.Append("<body>");
    strhtml.Append("<table border=\"3\">");
    strhtml.Append("<tr>");
    foreach (DataColumn c in dt.Columns)
    {
        strhtml.Append("<td>");
        strhtml.Append(c.ColumnName);
        strhtml.Append("</td>");
    }
    strhtml.Append("</tr>");
    foreach (DataRow row in dt.Rows)
    {
        strhtml.Append("<tr>");
        foreach (DataColumn c in dt.Columns)
        {
            strhtml.Append("<td>");
            strhtml.Append(row[c.ColumnName].ToString());
            strhtml.Append("</td>");
        }
        strhtml.Append("</tr>");
    }
    strhtml.Append("</table>");
    strhtml.Append("</body>");
    strhtml.Append("</html>");
    string savefilename = System.Windows.Forms.Application.StartupPath + "\\" + filename + ".html";
    System.IO.File.WriteAllText(savefilename, strhtml.ToString());
}
posted @ 2023-06-02 15:12  xjournal  阅读(121)  评论(0编辑  收藏  举报