DataGear 5.3.0 制作支持导出表格数据的数据可视化看板

DataGear 内置表格图表底层采用的是DataTable表格组件,默认并未引入导出数据的JS支持库,如果有导出表格数据需求,则可以在看板中引入导出相关JS支持库,制作具有导出CSV、Excel、PDF功能的表格数据看板。

在新发布的5.3.0版本中,对表格功能进行了改进,在制作具有导出功能表格的看板时,仅需要引入jszip.jspdfMake.jsvfs_fonts.js库即可。

如果不需要导出PDF,则不需要引入pdfMake.jsvfs_fonts.js

首先,新建表格图表看板,例如:

html 复制代码
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<div style="display:inline-block;width:100%;height:500px;"
  dg-chart-widget="..."></div>
</body>
</html>

然后,下载如下导出JS支持库:

https://cdnjs.cloudflare.com/ajax/libs/jszip/3.1.3/jszip.min.js

https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.53/pdfmake.min.js(仅导出PDF时需要)

https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.53/vfs_fonts.js(仅导出PDF时需要)

并将它们上传为看板资源,例如:

复制代码
lib/
 |--jszip.min.js
 |--pdfmake.min.js (仅导出PDF时需要)
 |--vfs_fonts.js (仅导出PDF时需要)

最后,在看板中引入上述JS库,配置表格图表导出按钮即可,例如:

html 复制代码
<!DOCTYPE html>
<html>
<head>
<script src="lib/jszip.min.js"></script>
<script src="lib/pdfmake.min.js"></script> <!--仅导出PDF时需要-->
<script src="lib/vfs_fonts.js"></script> <!--仅导出PDF时需要-->
<style>
/*自定义导出按钮样式*/
.dt-buttons button.dt-button{
  padding: 0.2em 1em;
  color: green;
}
</style>
</head>
<body>
<div style="display:inline-block;width:100%;height:500px;"
  dg-chart-options="{buttons:[
    {extend:'csv',text:'导出CSV'},
    {extend:'excel',text:'导出Excel'},
    {extend:'pdf',text:'导出PDF'}, /*仅导出PDF时需要*/
    {extend:'print',text:'打印'}]}"
  dg-chart-widget="..."></div>
</body>
</html>

效果图如下所示:

使用下面的dg-chart-options可以自定义导出/打印标题、文件名

javascript 复制代码
{
  buttons:[
    {extend:'csv',text:'导出CSV', filename: 'csv'},
    {extend:'excel',text:'导出Excel', filename: 'excel', title: null},
    {extend:'pdf',text:'导出PDF', filename: 'pdf', title: null}, /*仅导出PDF时需要*/
    {extend:'print',text:'打印', title: 'Title'}]
}

官网地址:

http://www.datagear.tech

源码地址:

Gitee:https://gitee.com/datagear/datagear

Github:https://github.com/datageartech/datagear

GitCode:https://gitcode.com/datageartech/datagear

相关推荐
gnip25 分钟前
SSE技术介绍
前端·javascript
yinke小琪40 分钟前
JavaScript DOM节点操作(增删改)常用方法
前端·javascript
爱编程的喵1 小时前
从XMLHttpRequest到Fetch:前端异步请求的演进之路
前端·javascript
豆苗学前端1 小时前
手把手实现支持百万级数据量、高可用和可扩展性的穿梭框组件
前端·javascript·面试
yinke小琪1 小时前
JavaScript 事件冒泡与事件捕获
前端·javascript
gzzeason1 小时前
Ajax:现代JS发起http通信的代名词
前端·javascript·ajax
iphone1081 小时前
一次编码,多端运行:HTML5多终端调用
前端·javascript·html·html5
今禾2 小时前
" 当Base64遇上Blob,图像转换不再神秘,让你的网页瞬间变身魔法画布! "
前端·数据可视化
iccb10132 小时前
我是如何实现在线客服系统的极致稳定性与安全性的
前端·javascript·后端
宇宙全栈Link2 小时前
当 React 组件调用自定义 hooks,hooks 又调用其他 hooks 时,状态变化如何传播?
前端·javascript·react.js