wpf .netcore6.0 导出html文件

using var folderBrowserDialog = new System.Windows.Forms.FolderBrowserDialog();
                if (folderBrowserDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
                {
                    var selectedPath = folderBrowserDialog.SelectedPath;

 string FileName = Path.Combine(selectedPath, $"文件名称.html");

                    var fi = new FileInfo(FileName);
                    if (fi.Directory != null && !fi.Directory.Exists)
                    {
                        fi.Directory.Create();
                    }
                    if (File.Exists(FileName))
                    {
                        bool has = false;
                        System.Windows.Application.Current.Dispatcher.Invoke(() =>
                        {
                            if (new IsDeleteWin("HasFile").ShowDialog() == false)
                            {
                                has = true;
                            }
                        });
                        if (has) { return false; }
                    }

using var fs = new FileStream(FileName, FileMode.Create, FileAccess.Write);
                using var sw = new StreamWriter(fs, Encoding.UTF8);
                // 写入 HTML 头部
                sw.WriteLine("<!DOCTYPE html>");
                sw.WriteLine("<html lang='en'>");
                sw.WriteLine("<head>");
                sw.WriteLine("<meta charset='UTF-8'>");
                sw.WriteLine("<meta name='viewport' content='width=device-width, initial-scale=1.0'>");
                sw.WriteLine("<title>" + Protocol.Name + "</title>");
                sw.WriteLine("<style>");
                sw.WriteLine("table { border-collapse: collapse; width: 100%; }");
                sw.WriteLine("th, td { border: 1px solid black; padding: 8px; text-align: left; }");
                sw.WriteLine("th { background-color: #f2f2f2; }");
                sw.WriteLine("</style>");
                sw.WriteLine("</head>");
                sw.WriteLine("<body>");

                sw.WriteLine("<table>");
                sw.WriteLine($"<tr><td>Protocol Name:</td><td>{Protocol.Name}</td></tr>");
                sw.WriteLine($"<tr><td>Experimental time:</td><td>{Protocol.CreateTime}</td></tr>");
                sw.WriteLine("</table>");
                sw.WriteLine("");
                sw.WriteLine("<table>");
                sw.WriteLine("<h2>Profile:</h2>");
                sw.WriteLine("<tr><th>Parameter</th><th>Value</th></tr>");

sw.WriteLine($"<tr><td>名称</td><td>{11111}</td></tr>");
                sw.WriteLine("</table>");

var templist= Global.DataHelper.QueryLList();
                    if (templist!= null && templist.Any())
                    {
                            sw.WriteLine("<div class='table-container'>");
                            sw.WriteLine("<h2>Conc.</h2>");
                            sw.WriteLine("<table>");
                            sw.WriteLine("<tr><th>Parameter</th><th>Value</th></tr>");
                            var list = templist.OrderBy(x => x.No).ToList();
                            foreach (var c in list)
                            {
                                sw.WriteLine($"<tr><td>xxxx{c.xxxxx}</td><td>{c.xxx}</td></tr>");
                            }
                            sw.WriteLine("</table>");
                            sw.WriteLine("</div>");
                            templist= null;
                    }


                // 结束 HTML 文档
                sw.WriteLine("</body>");
                sw.WriteLine("</html>");
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值