作者:jimscloudy | 来源:互联网 | 2023-10-17 05:57
在对服务器进行巡检后,我们需要保存一份巡检的日志下来,虽然可以通过sprie.xls第三方控件保存为excel,但是感觉还是直接生成网页更加方便。这里使用到了VUE2+elemen
在对服务器进行巡检后,我们需要保存一份巡检的日志下来,虽然可以通过sprie.xls第三方控件保存为excel,但是感觉还是直接生成网页更加方便。这里使用到了VUE2+elementUI的单页面。
1、生成网页的问题
对于生成网页的问题,网上看到一个例子,是直接在代码中拼页面,感觉太累还不好修改,如下
///
/// 把DataTable转换成网页格式
///
///
///
public string ExportDatatableToHtml(DataTable dt)
{
StringBuilder strHTMLBuilder = new StringBuilder();
strHTMLBuilder.Append("");
strHTMLBuilder.Append("");
strHTMLBuilder.Append("");
strHTMLBuilder.Append("");
strHTMLBuilder.Append("");
//Close tags.
strHTMLBuilder.Append("
");
strHTMLBuilder.Append("");
strHTMLBuilder.Append("");
string Htmltext = strHTMLBuilder.ToString();
return Htmltext;
}
其实我们可以先做一个网页模板,然后替换掉里面的数据就可以了,这样子换模版方便,也容易修改网页的布局。
2、制作一个模版网页,做为导出时网页的样子
在vs2010中新建一个普通的网页,标题和数据的部分做个标记,用于后续的替换。
"stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
"app">
"flex" class="row-bg" justify="center">
标题
"flex" class="row-bg" justify="center">
"20">
"tableData" color: rgba(128, 0, 0, 1)">"width: 100%" :row-class-name="tableRowClassName">>
"名称" label="名称" 180" sortable>
"方式" label="方式" 180" sortable>
"设备类型" label="设备类型" sortable>
"地址" label="地址">
"验证结果" label="验证结果" sortable>
"验证时间" label="验证时间">
3、对网页模版进行替换并保存
///
/// DataTable转换为JSON
///
///
///
public string DataTableToJsonWithJsonNet(DataTable table)
{
string JsOnString= string.Empty;
JsonString = JsonConvert.SerializeObject(table);
return JsonString;
}
//保存巡检的结果信息
string FileName = "";
DataTable Dt = new DataTable();
Dt.Columns.Add("名称");
Dt.Columns.Add("方式");
Dt.Columns.Add("设备类型");
Dt.Columns.Add("地址");
Dt.Columns.Add("验证结果");
Dt.Columns.Add("验证时间");
string mc = "";
string fs = "";
string sblx = "";
string dz = "";
string yzjg = "";
string yzsj = DateTime.Now.ToString();
for (int i = 0; i 1; i++)
{
mc = DG_show.Rows[i].Cells["名称"].Value.ToString().Trim();
fs = DG_show.Rows[i].Cells["方式"].Value.ToString().Trim();
sblx = DG_show.Rows[i].Cells["设备类型"].Value.ToString().Trim();
dz = DG_show.Rows[i].Cells["地址"].Value.ToString().Trim();
yzjg = DG_show.Rows[i].Cells["验证结果"].Value.ToString().Trim();
Dt.Rows.Add(mc, fs, sblx, dz, yzjg, yzsj);
}
//导出为网页版的日志记录
FileName = @"data\\服务器巡检记录" + yzsj.Replace(":", "-") + ".htm"; //设置要保存的网页的名称,加上时间信息
string json = hr.DataTableToJsonWithJsonNet(Dt); //把DataTable转换成JSON格式
string text = System.IO.File.ReadAllText("template.htm"); //读取模版网页
text = text.Replace("|", json); //把模版中|替换成真实的数据
text = text.Replace("标题", "服务器巡检记录,生成于:"+DateTime.Now.ToString());//把模版中的标题替换成真实的标题
System.IO.File.WriteAllText(FileName, text); //保存生成的网页
MessageBox.Show("服务器巡检记录已保存,请转至软件Data目录下查看!", "服务器巡检提醒", MessageBoxButtons.OK, MessageBoxIcon.Information);
最后的效果如下图,表格还可以排序