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

相关推荐
土豪码农1 分钟前
面试官:怎么禁止用户复制?
前端·javascript·面试
掘金安东尼2 分钟前
🧭 前端周刊第417期(2025年6月2日–6月8日)
前端·javascript·面试
bo521003 分钟前
突破性能瓶颈:基于虚拟滚动的大数据需求文档方案——告别卡顿与分页,实现Word级流畅体验
javascript·vue.js
小张快跑。10 分钟前
【Vue3】(三)vue3中的pinia状态管理、组件通信
前端·javascript·vue.js
我想说一句10 分钟前
当 map 遇上 parseInt:JS 中一场参数引发的“血案”
前端·javascript·面试
三气归来12 分钟前
2. 内置模块之http模块
javascript·后端
FogLetter12 分钟前
🧙‍♂️ 魔法笔记:JavaScript 词法作用域与闭包的神秘世界
javascript·后端
天天码行空19 分钟前
Bootstrap Table企业级web数据表格集成框架
前端·javascript·开源
Hilaku27 分钟前
用好了 defineProps 才叫会用 Vue3,90% 的写法都错了
前端·javascript·vue.js
英宋29 分钟前
ckeditor5的研究 (2):对 CKEditor5 进行设计,并封装成一个可用的 vue 组件
前端·javascript