Stimulsoft Reports.Ultimate是.NET框架下最全面的报表解决方案,支持多种报表导出格式,拥有简单且强大的报表引擎,此示例显示如何从代码将报表导出为HTML格式。需要创建StiReport类型的报表对象,然后通过调用loadFile()方法加载报表模板文件。在此之后,应该通过调用报表对象的 render()方法来呈现报表:
// Create a new report instance
var report = new Stimulsoft.Report.StiReport();
// Load report from url
report.loadFile("../reports/SimpleList.mrt");
// Render report
report.render();
要导出HTML格式的报告,应该创建StiHtmlExportSettings和StiHtmlExportService类的两个对象。第一个对象定义所有导出设置,第二个对象是HTML导出服务。还需要创建 TextWriter和 StiHtmlTextWriter对象 - 它们需要输出导出的结果。
要开始导出,只需调用导出服务对象的exportTo()方法,该方法接受呈现的报表,文本编写器和导出设置。例如,结果通过其Id显示在DIV容器中:
function exportReportHtml() {
// Create an HTML settings instance. You can change export settings.
var settings = new Stimulsoft.Report.Export.StiHtmlExportSettings();
// Create an HTML service instance.
var service = new Stimulsoft.Report.Export.StiHtmlExportService();
// Create a text writer objects.
var textWriter = new Stimulsoft.System.IO.TextWriter();
var htmlTextWriter = new Stimulsoft.Report.Export.StiHtmlTextWriter(textWriter);
// Export HTML using text writer.
service.exportTo(report, htmlTextWriter, settings);
// Write HTML text to DIV element.
var container = document.getElementById("htmlContainer");
container.innerHTML = textWriter.getStringBuilder().toString();
}
如果需要将HTML导出结果保存到文件,可以使用 Object.saveAs()方法。此方法已添加到Stimulsoft库中,可以使用它来保存文件。导出过程与DIV容器中的HTML输出相同:
function saveReportHtml() {
// Create an HTML settings instance. You can change export settings.
var settings = new Stimulsoft.Report.Export.StiHtmlExportSettings();
// Create an HTML service instance.
var service = new Stimulsoft.Report.Export.StiHtmlExportService();
// Create a text writer objects.
var textWriter = new Stimulsoft.System.IO.TextWriter();
var htmlTextWriter = new Stimulsoft.Report.Export.StiHtmlTextWriter(textWriter);
// Export HTML using text writer.
service.exportTo(report, htmlTextWriter, settings);
// Get HTML string from text writer object
var html = textWriter.getStringBuilder().toString();
// Get report file name
var fileName = String.isNullOrEmpty(report.reportAlias) ? report.reportName : report.reportAlias;
// Save data to file
Object.saveAs(html, fileName + ".html", "text/html;charset=utf-8");
}
在下面的屏幕截图中,可以看到示例代码的结果。