Spreadjs报表使用教程

SpreadJS开发报表手摸手教学

前言

使用 SpreadJS 在线表格编辑器,仅需简单的拖拽点击,即可在线设计各类 Excel 报表模板,借助其开放的 API,即可开发实现数据填报、在线编辑、数据绑定等功能,有高度类似 Excel 的使用体验

使用方式非常简便,简单报表1-2小时便可实现

官方文档:[https://demo.grapecity.com.cn/spreadjs/help/docs/overview](https://demo.grapecity.com.cn/spreadjs/help/docs/overview)

实现方案

新增 报表子模块(https://git.code.tencent.com/Bonto_Project/tzreport.git),用来统一管理报表,各系统使用SpreadJS开发的报表都放在子模块中。

为什么这么做?
  • 需要满足既可以在各自系统中使用,又可以无缝植入到报表管理系统
  • 集成简单,减少重复代码
  • 省去过多的权限配置

使用步骤

准备工作

添加 tzreport

git submodule add https://chay:Aa%40123123@git.code.tencent.com/Bonto_Project/tzreport.git src/tzreport

更新 tzlib

git submodule update

// vben项目使用 bangtuo-prod 分支
// elementPlus项目使用 bonto-prod

引入 SpreadJS

<!-- spreadjs -->
<script src="https://demo.grapecity.com.cn/spreadjs/SpreadJSTutorial/spread/source/js/FileSaver.js" type="text/javascript"></script>
<link type="text/css" rel="stylesheet" href="https://cdn.grapecity.com.cn/SpreadJS/package-contents/16.0.6/spread-sheets/styles/gc.spread.sheets.excel2013white.css"/>
<script src="https://cdn.grapecity.com.cn/SpreadJS/package-contents/16.0.6/spread-sheets/dist/gc.spread.sheets.all.min.js"></script>
<script src="https://cdn.grapecity.com.cn/SpreadJS/package-contents/16.0.6/spread-sheets-resources-zh/dist/gc.spread.sheets.resources.zh.min.js"></script>
<script src="https://cdn.bootcdn.net/ajax/libs/axios/0.21.1/axios.min.js"></script>
<script type="text/javascript" src="https://cdn.grapecity.com/spreadjs/hosted/scripts/interop/gc.spread.excelio.16.1.1.min.js"></script>

添加所需依赖

pnpm i tz-minio-upload dayjs -S

开始使用

目录要求
	页面统一放在 views/reports 下,按系统名称 / 报表名称格式,API同理

	例如:数字化料厂下的日库存报表目录格式为:views/reports/storage/daily-inventory;API目录格式为:api/reports/storage/daily-inventory
代码示例

DOM元素

<div id="gc-spread-sheets" v-show="iswork" style="height: 86vh; width: 100%"></div>

引入所需方法与接口

  import {
   
    dictDetailListByCode,
    reportFormsDailyInventoryApi,
  } from '../../../../api/reports/storage/daily-inventory/index';
  import {
    getFile } from '../../../../utils/minio/index';
  import {
    uploadMinio } from '../../../../utils/minio/upload';
  import {
    downloadByData } from '../../../../utils/file/download';

定义模板文件/数据文件名称

  declare let GC: any;  

  const iswork = ref<boolean>(false);  // 显示报表
  const spreads = ref<any>({
   });  // spreadjs实例
  const reporTemplateFolderName = 'reporttemplates/storage/'; // 报表模板文件夹名称
  const reportDataFolderName 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

arguments_zd

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值