报表文件转换为XML格式进行存储和读取
本帖最后由 KearneyKang 于 2021-8-17 17:53 编辑Activereports报表文件可以转换为XML形式进行存储,存储在数据库中XML形式的报表内容,也可以直接进行读取展示重点来了,该如何实现了?
1、首先需要依赖一个方法才能实现该需求:“ReportConverter”的方法,該方法.Net需要依赖该引用:GrapeCity.ActiveReports.Aspnet.Designer
Core 项目需要依赖该引用:GrapeCity.ActiveReports.Aspnetcore.Viewernamespace GrapeCity.ActiveReports.Aspnet.Designer.Utilities
{
public static class ReportConverter
{
//
// 摘要:
// Serialize GrapeCity.ActiveReports.PageReportModel.Report from JSON content
//
// 参数:
// content:
// JSON report content
//
// 返回结果:
// Serialized GrapeCity.ActiveReports.PageReportModel.Report
public static Report FromJson(byte[] content);
//
// 摘要:
// Serialize GrapeCity.ActiveReports.PageReportModel.Report from XML content
//
// 参数:
// content:
// XML report content
//
// 返回结果:
// Serialized GrapeCity.ActiveReports.PageReportModel.Report
public static Report FromXML(byte[] content);
//
// 摘要:
// Deserialize GrapeCity.ActiveReports.PageReportModel.Report to JSON content
//
// 参数:
// content:
// Serialized GrapeCity.ActiveReports.PageReportModel.Report
//
// 返回结果:
// JSON report content
public static byte[] ToJson(Report report);
//
// 摘要:
// Deserialize GrapeCity.ActiveReports.PageReportModel.Report to XML content
//
// 参数:
// content:
// Serialized GrapeCity.ActiveReports.PageReportModel.Report
//
// 返回结果:
// XML report content
public static byte[] ToXml(Report report);
}
}2、转换为XML的实现 var templateXml = File.ReadAllBytes(Server.MapPath(@"Reports\URL绑定.rdlx"));
var template = ReportConverter.FromXML(templateXml);
var resultXml= ReportConverter.ToXml(template);3、报表内容读取:
protected void Page_Load(object sender, EventArgs e)
{
var templateXml = File.ReadAllBytes(Server.MapPath(@"Reports\城市排行.rdlx"));
vartemplate = ReportConverter.FromXML(templateXml);
this.WebViewer1.Report = template ;
}4、demo
页:
[1]