vue-cli使用stimulsoft.reports.js的详细教程

 更新时间:2021年12月16日 17:14:52   作者:小C好好干饭  
Stimulsoft Reports.JS是一个使用JavaScript和HTML5生成报表的平台。它拥有所有拥来设计,编辑和查看报表的必需组件。该报表工具根据开发人员数量授权而不是根据应用程序的用户数量。接下来通过本文给大家介绍vue-cli使用stimulsoft.reports.js的方法,一起看看吧

vue-cli使用stimulsoft.reports.js(保姆级教程)

第一部分:数据源准备

以下是JSON数据的教程

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

json数据结构

{
	"数据源名":[
		// ...数据列表
	]
}

自己的测试JSON数据

{
    "data": [
        {
            "a": "我是A",
            "b": "我是B",
            "c": "我是C"
        },
        {
            "a": "我是A",
            "b": "我是B",
            "c": "我是C"
        },
        {
            "a": "我是A",
            "b": "我是B",
            "c": "我是C"
        }
    ]
}

附上官方处数据(自己删减了一些数据让读者能更好看懂结构)

{
	"Customers": [{
		"CustomerID": "ALFKI",
		"CompanyName": "Alfreds Futterkiste",
		"ContactName": "Maria Anders",
		"ContactTitle": "Sales Representative",
		"Address": "Obere Str. 57",
		"City": "Berlin",
		"Region": null,
		"PostalCode": "12209",
		"Country": "Germany",
		"Phone": "030-0074321",
		"Fax": "030-0076545"
	}, {
		"CustomerID": "ANATR",
		"CompanyName": "Ana Trujillo Emparedados y helados",
		"ContactName": "Ana Trujillo",
		"ContactTitle": "Owner",
		"Address": "Avda. de la Constitución 2222",
		"City": "México D.F.",
		"Region": null,
		"PostalCode": "05021",
		"Country": "Mexico",
		"Phone": "(5) 555-4729",
		"Fax": "(5) 555-3745"
	}]
}

第二部分:vue-cli引入stimulsoft.reports.js

在这里插入图片描述
在这里插入图片描述

附上App.vue代码
分别有展示数据、打印数据、保存数据、导入json数据的功能测试

<template>
  <div id="app">
    <div>
      <h2>Stimulsoft Reports.JS Viewer</h2>
      <button @click="print">打印</button>
      <button @click="save">保存</button>
      <button @click="setJson">设置JSON</button>
      <div id="viewer"></div>
    </div>
  </div>
</template>

<script>
export default {
  name: "app",
  data() {
    return {};
  },
    // 加载官方示例模板代码
  mounted: function () {
    console.log("加载查看器视图");
    // 工具栏
    console.log("创建具有默认选项的报表查看器");
    var viewer = new window.Stimulsoft.Viewer.StiViewer(
      null,
      "StiViewer",
      false
    );

    // 报表
    console.log("创建一个新的报表实例");
    var report = new window.Stimulsoft.Report.StiReport();

    // 加载文件
    console.log("从url加载报告");
    report.loadFile("/reports/SimpleList.mrt");

    // 创建报表
    console.log("将报表分配给查看器,报表将在呈现查看器之后自动生成  ");
    viewer.report = report;

    // 注入标签
    console.log("将查看器呈现给选定的元素");
    viewer.renderHtml("viewer");

    console.log("加载成功完成!");
  },
  methods: {
    // 调用打印机打印数据
    print() {
      var report = new window.Stimulsoft.Report.StiReport();
      report.loadFile("/reports/SimpleList.mrt");
      report.print();
    },
    // 导出保存数据
    save() {
      var report = new window.Stimulsoft.Report.StiReport();
      report.loadFile("/reports/SimpleList.mrt");
      // 将呈现的报告保存为JSON字符串
      var json = report.saveDocumentToJsonString();
      console.log("json", json);
      // 获取报告文件名
      var fileName = report.reportAlias
        ? report.reportAlias
        : report.reportName;
      console.log("report.reportName", report.reportName);
      console.log("report.reportAlias", report.reportAlias);
      console.log("fileName", fileName);
      // 将数据保存到文件
      window.Stimulsoft.System.StiObject.saveAs(
        json,
        fileName + ".mdc",
        "application/json;charset=utf-8"
      );
    },
    // 获取json数据并写入页面
    setJson() {
      var report = new window.Stimulsoft.Report.StiReport();

      // report.loadFile("/reports/SimpleList.mrt");// 官方数据模板
      report.loadFile("/reports/Test.mrt");// 自己的数据模板
      
      // 创建新的DataSet对象
      var dataSet = new window.Stimulsoft.System.Data.DataSet("JSON");
      // 将JSON数据文件从指定的URL加载到DataSet对象

      // dataSet.readJsonFile("/reports/Demo.json");//官方数据
      dataSet.readJsonFile("/reports/Test.json");// 自己的json数据
        
	  //文件用上面的readJsonFile方式导入,接口网络请求用下面这种方式进行导入
      // let json=/*此处省略获取数据请求*/
      // dataSet.readJson(JSON.stringify(json));
        
      // 清除报告模板中数据
      report.dictionary.databases.clear();
        
      // 注册数据集对象
      report.regData("JSON", "JSON", dataSet);
        
      // 用注册数据呈现报表
      // report.render();
      // 工具栏
      var viewer = new window.Stimulsoft.Viewer.StiViewer(
        null,
        "StiViewer",
        false
      );
      // 创建报表
      viewer.report = report;
      // 注入标签
      viewer.renderHtml("viewer");
    },
  },
};
</script>

<style>
</style>

最后附上本人测试项目连接

项目链接
链接: https://pan.baidu.com/s/1HahzqHgFXvHT6OuE4IqzgQ

提取码: vr57 

工具链接

链接: https://pan.baidu.com/s/1374m-kCBZBeOdlDrAbXtbQ 

提取码: dfkc

官方教程链接
https://www.evget.com/serializedetail/510

到此这篇关于vue-cli使用stimulsoft.reports.js的文章就介绍到这了,更多相关vue-cli使用stimulsoft.reports.js内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • crypto-js对称加密解密的使用方式详解(vue与java端)

    crypto-js对称加密解密的使用方式详解(vue与java端)

    这篇文章主要介绍了如何在Vue前端和Java后端使用crypto-js库进行AES加密和解密,前端通过创建AES.js文件来实现加密解密功能,并在Vue文件或JavaScript中使用,后端则可以直接使用Java代码进行AES加密和解密操作,需要的朋友可以参考下
    2025-01-01
  • vue中使用AJAX实现读取来自XML文件的信息

    vue中使用AJAX实现读取来自XML文件的信息

    这篇文章主要为大家详细介绍了vue中如何使用AJAX实现读取来自XML文件的信息,文中的示例代码讲解详细,具有一定的借鉴价值,需要的小伙伴可以参考下
    2023-12-12
  • 详解如何在nuxt中添加proxyTable代理

    详解如何在nuxt中添加proxyTable代理

    这篇文章主要介绍了详解如何在nuxt中添加proxyTable代理,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-08-08
  • vue 表单输入框不支持focus及blur事件的解决方案

    vue 表单输入框不支持focus及blur事件的解决方案

    这篇文章主要介绍了vue 表单输入框不支持focus及blur事件的解决方案,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • Vue组件中slot的用法

    Vue组件中slot的用法

    这篇文章交详细的给大家介绍了vue组件中slot的用法,主要是让组件的可扩展性更强,具体内容详情大家参考下本文
    2018-01-01
  • vue webpack打包后图片路径错误的完美解决方法

    vue webpack打包后图片路径错误的完美解决方法

    这篇文章主要介绍了vue webpack打包后图片路径错误的解决方法,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-12-12
  • vue中SPA单页面应用程序详解

    vue中SPA单页面应用程序详解

    这篇文章主要为大家详细介绍了vue中SPA单页面应用程序的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-11-11
  • VUE实现注册与登录效果

    VUE实现注册与登录效果

    这篇文章主要为大家详细介绍了VUE实现注册与登录效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09
  • vue3.0路由自动导入的方法实例

    vue3.0路由自动导入的方法实例

    这篇文章主要给大家介绍了关于vue3.0路由自动导入的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • vue实现移动端touch拖拽排序

    vue实现移动端touch拖拽排序

    这篇文章主要为大家详细介绍了vue实现移动端touch拖拽排序,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-07-07

最新评论