C#动态生成Html格式报告

生成HTML格式报告可以通过C#动态生成,以下是一个简单的示例和详细解释:

动态生成HTML格式报告示例代码

csharp
using System; using System.IO; class Program { static void Main() { // 定义报告内容 string reportTitle = "销售报告"; string[] salesData = { "产品A: $1000", "产品B: $1500", "产品C: $800" }; // 生成HTML报告 string htmlContent = GenerateHtmlReport(reportTitle, salesData); // 将HTML报告写入文件 string filePath = @"C:\Reports\sales_report.html"; WriteHtmlToFile(htmlContent, filePath); Console.WriteLine($"HTML报告已生成: {filePath}"); } // 生成HTML报告的方法 static string GenerateHtmlReport(string title, string[] data) { // HTML模板 string template = @" <!DOCTYPE html> <html lang=""en""> <head> <meta charset=""UTF-8""> <meta name=""viewport"" content=""width=device-width, initial-scale=1.0""> <title>{0}</title> </head> <body> <h1>{0}</h1> <ul> {1} </ul> </body> </html> "; // 构建数据项 string listItems = ""; foreach (var item in data) { listItems += $"<li>{item}</li>"; } // 替换模板中的占位符 string htmlReport = string.Format(template, title, listItems); return htmlReport; } // 将HTML写入文件的方法 static void WriteHtmlToFile(string htmlContent, string filePath) { try { // 确保目录存在 string directory = Path.GetDirectoryName(filePath); Directory.CreateDirectory(directory); // 写入HTML内容到文件 File.WriteAllText(filePath, htmlContent); } catch (Exception ex) { Console.WriteLine($"写入文件时出错: {ex.Message}"); } } }

解释

  1. 生成HTML报告方法

    • GenerateHtmlReport(string title, string[] data) 方法使用了简单的字符串拼接来生成包含标题和数据的HTML列表。
  2. HTML模板

    • 使用了简单的HTML模板来定义报告的结构,包括标题和项目列表。
  3. 写入文件方法

    • WriteHtmlToFile(string htmlContent, string filePath) 方法将生成的HTML内容写入指定路径的文件中,首先确保目录存在,然后使用File.WriteAllText()方法写入文件内容。
  4. 执行

    • Main() 方法演示了如何调用生成HTML报告的方法,并将生成的HTML内容写入文件中,最后打印文件路径作为确认信息。

关键字

C#, 动态生成HTML报告, HTML模板, 文件操作, 字符串拼接