首页 > 其他分享 >揭秘报表新玩法!标配插件不再单调,如何用柱形图插件让你的报表瞬间高大上!

揭秘报表新玩法!标配插件不再单调,如何用柱形图插件让你的报表瞬间高大上!

时间:2023-06-12 09:02:06浏览次数:57  
标签:文件 插件 报表 chart 柱形图 JS var CSS

摘要:本文由葡萄城技术团队于博客园原创并首发。葡萄城为开发者提供专业的开发工具、解决方案和服务,赋能开发者。

前言

图表作为一款用于可视化数据的工具,可以帮助我们更好的分析和理解数据,并发现数据之间的关系和趋势。下面以柱形图为例介绍如何使用JavaScript在报表中引入图表。

本文使用软件Visual Studio Code(以下简称“VSCode”)作为编程环境,请您以管理员身份运行它。

以下是在报表中集成柱形图插件的步骤:

  1. 创建一个工程并引入资源
  2. 创建柱形图的Html文件
  3. 创建柱形图的JS文件
  4. 创建柱形图的CSS文件

1.创建一个工程并引入资源

第一步在文件管理器中创建一个空白的文件夹作为工程并用VSCode打开。

第二步在工程中新建两个文件夹用来存放JS文件和CSS文件。

(新建两个文件夹)

第三步引入需要的JS文件和CSS文件。(资源在文末的源码链接中)

至此已经完成了创建工程并引入资源的步骤。

2.创建柱形图的Html文件

第一步在工程中创建一个.html文件并初始化。

(初始化一个html文件)

第二步在html文件中导入JS文件资源,主要用到的是图表组件(点击这里了解其他组件资源)。

\<!--格式为UTF-8--\>

\<meta charset="UTF-8"\>

\<meta http-equiv="X-UA-Compatible" content="IE=edge"\>

\<meta name="spreadJS culture" content="zh-cn" /\>

\<meta name="viewport" content="width=device-width, initial-scale=1.0"\>

\<title\>柱形图表格\</title\>

\<!-- 引入SpreadJS相关的CSS,默认会有一个CSS

SpreadJS默认提供了7种CSS,可以选择一个适合当前项目的引入

\--\>

\<link rel="stylesheet" type="text/CSS" href="./CSS/gc.spread.sheets.excel2013white.15.1.0.CSS" /\>

\<!-- 核心资源,最小依赖资源,只要引入了该资源,组件运行时就能显示出来 --\>

\<script type="text/javascript" src="./JS/gc.spread.sheets.all.15.1.0.min.JS"\>\</script\>

\<!-- 中文资源文件,组件运行时默认会用英文资源,使用中文资源需要引入并设置 --\>

\<script type="text/javascript" src="./JS/gc.spread.sheets.resources.zh.15.1.0.min.JS"\>\</script\>

\<!-- 导入导出excel文件的相关资源 --\>

\<script type="text/javascript" src="./JS/gc.spread.excelio.15.1.0.min.JS"\>\</script\>

\<!-- 形状相关资源--\>

\<script type="text/javascript" src="./JS/gc.spread.sheets.shapes.15.1.0.min.JS"\>\</script\>

\<!-- 透视表相关资源 --\>

\<script type="text/javascript" src="./JS/gc.spread.pivot.pivottables.15.1.0.min.JS"\>\</script\>

\<!-- 图表的相关资源 --\>

\<script type="text/javascript" src="./JS/gc.spread.sheets.charts.15.1.0.min.JS"\>\</script\>

\<!-- 二维码相关资源 --\>

\<script type="text/javascript" src="./JS/gc.spread.sheets.barcode.15.1.0.min.JS"\>\</script\>

\<!-- 打印相关资源 --\>

\<script type="text/javascript" src="./JS/gc.spread.sheets.print.15.1.0.min.JS"\>\</script\>

\<!-- PDF相关资源 --\>

\<script type="text/javascript" src="./JS/gc.spread.sheets.pdf.15.1.0.min.JS"\>\</script\>

\<!-- 集算表相关资源 集算表是SpreadJS特有的功能 --\>

\<script type="text/javascript" src="./JS/gc.spread.sheets.tablesheet.15.1.0.min.JS"\>\</script\>

第三步加入html的内容。

\<body\>

\<div class="sample-tutorial"\>

\<!—表格内容--\>

\<div id="ss" class="sample-tutorial"\>\</div\>

\</div\>

\</body\>

\<!--表格格式--\>

\<style\>

\#ss {

height: 98vh;

float: left;

width: 100%;

/\* left: auto; \*/

}

\</style\>

第四步在html中引入柱形图的JS文件和CSS文件(下面讲如何写JS文件和CSS文件)。

\<!--引入JS文件--\>

\<script src="./JS/chartDataDisplay.JS" type="text/javascript"\>\</script\>

\<!--引入CSS文件--\>

\<link rel="stylesheet" type="text/CSS" href="./CSS/chartDataDisplay.CSS"\>

至此已经完成了html文件的创建和编写。

3.创建柱形图的JS文件

第一步在JS文件夹中新建一个JS文件(注意:文件的名称要和html文件中引入的文件名称一致,详情见创建Html文件的第四步)。

第二步在JS文件中编写引入柱形图的方法:

(1)在加载方法中获取表格并调用获取柱形图的方法。

window.onload = function () {

//获取表格

var spread = new GC.Spread.Sheets.Workbook(document.getElementById("ss"), {sheetCount: 3});

//设置柱形图

initSpread(spread);

};

(2)设置柱形图的方法。

//设置柱形图

function initSpread(spread) {

var chartType = [{

//指定chartType为柱形图

type: GC.Spread.Sheets.Charts.ChartType.columnClustered,

desc: "columnClustered",

//设置表格数据

dataArray: [

["", 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],

["Tokyo", 49.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4],

["New York", 83.6, 78.8, 98.5, 93.4, 106.0, 84.5, 105.0, 104.3, 91.2, 83.5, 106.6, 92.3],

["London", 48.9, 38.8, 39.3, 41.4, 47.0, 48.3, 59.0, 59.6, 52.4, 65.2, 59.3, 51.2],

["Berlin", 42.4, 33.2, 34.5, 39.7, 52.6, 75.5, 57.4, 60.4, 47.6, 39.1, 46.8, 51.1]

],

//设置表格数据展示的位置

dataFormula: "A1:M5",

changeStyle: function (chart) {

//改变文章标题的方法

changeChartTitle(chart, "The Average Monthly Rainfall");

//显示数据标签的方法

changColumnChartDataLabels(chart);

chart.axes({primaryValue: {title: {text: "Rainfall(mm)"}}});

//设置柱形图的颜色

changeChartSeriesColor(chart);

//设置柱形图的大小和宽度

changeChartSeriesGapWidthAndOverLap(chart);

}

}];

var sheets = spread.sheets;

//挂起活动表单和标签条的绘制

spread.suspendPaint();

for (var i = 0; i \< chartType.length; i++) {

var sheet = sheets[i];

initSheet(sheet, chartType[i].desc, chartType[i].dataArray);

var chart = addChart(sheet, chartType[i].type, chartType[i].dataFormula);//add chart

chartType[i].changeStyle(chart);

}

//恢复活动表单和标签条的绘制

spread.resumePaint();

}

(3)改变文章标题的方法。

function changeChartTitle(chart, title) {

chart.title({text: title});

}

(4)显示数据标签的方法。

//显示数据标签

function changColumnChartDataLabels(chart) {

var dataLabels = chart.dataLabels();

dataLabels.showValue = true;

dataLabels.showSeriesName = false;

dataLabels.showCategoryName = false;

var dataLabelPosition = GC.Spread.Sheets.Charts.DataLabelPosition;

dataLabels.position = dataLabelPosition.outsideEnd;

chart.dataLabels(dataLabels);

}

(5)设置柱形图颜色的方法。

//设置柱形图的颜色

function changeChartSeriesColor(chart) {

var series = chart.series().get();

for (var i = 0; i \< series.length; i++) {

chart.series().set(i, {backColor: colorArray[i]});

}

}

(6)设置柱形图大小和宽度的方法。

/

/设置柱形图的大小和宽度

function changeChartSeriesGapWidthAndOverLap(chart) {

var seriesItem = chart.series().get(0);

seriesItem.gapWidth = 2;

seriesItem.overlap = 0.1;

chart.series().set(0, seriesItem);

}

至此已经完成了JS文件的创建和编写。除此之外,柱形图中还包含一种图形叫做堆积图,文末的源码链接中包含了它的写法。

4.创建柱形图的CSS文件

第一步在CSS文件夹中创建一个CSS文件(注意:文件的名称要和html文件中引入的文件名称一致,详情见创建Html文件的第四步)。

第二步在CSS文件中编写柱形图的样式。

.sample-tutorial {

position: relative;

height: 100%;

overflow: hidden;

}

body {

position: absolute;

top: 0;

bottom: 0;

left: 0;

right: 0;

}

至此已经完成了CSS文件的创建和编写。在运行前需要下载一个插件:Live Server。

(Live Server插件)

安装完插件后需要重启VSCode软件,然后再打开第二步的.html文件后左键点击Open With The Live Server(中文叫以浏览器打开)便可以在浏览器中显示。

(运行效果图)

资源链接:

代码链接:

https://gitee.com/GrapeCity/spread-js--chartdata (Gitee)

https://github.com/GrapeCityXA/Spread-chartData/tree/main (Github)

点击这里了解其他组件资源

扩展链接:

报表中的数据处理:数据运算

如何重用其他报表的元素控件——报表组件库介绍

利用区域报表制作名单类报表

标签:文件,插件,报表,chart,柱形图,JS,var,CSS
From: https://www.cnblogs.com/powertoolsteam/p/17469586.html

相关文章

  • [GPT] jquery chosen插件选择的多个元素是逗号分隔的,怎么设置成其它分隔符号 ?
     如果你想要在jQueryChosen插件中使用其它分隔符号,可以通过以下方式实现: 1.设置delimiter选项为一个包含所需分隔符的字符串。$(".chosen-select").chosen({delimiter:";"});在这个例子中,我们将分隔符设置为分号;。 2.在表单提交时,使用JavaScript替换......
  • blender 使用物理骨骼,受物理影响+不影响主观能动性的"物理妥协骨骼" 插件:wiggle bone
    复制需要物理模拟的控制骨,做2层一样的控制骨,在DEF的需要物理模拟的骨骼中加约束,影响:0.5解决wiggle异常抖动还没有解决办法……......
  • Gradle 的安装与配置 + eclipse 里安装 Gradle 插件
    一、什么是Gradle基于ApacheAnt和ApacheMaven概念的项目自动化构建开源工具,基于Groovy这个特定DSL语言来进行声明项目设置,也增加了基于Kotlin语言的kotlin-basedDSL。简介:Gradle是一个基于JVM的构建工具,是一款通用灵活的构建工具,支持maven,Ivy仓库,支持传递性依赖管理,而不需要远......
  • Vue插件:Vue-resource github搜索示例
     1:安装插件  vue-resourcevue的插件库,在vue1.0年代使用几率很高2:界面效果3:代码信息说明:该示例代码基本上是与《“Vue中通过事件总线方式组件间传递数据及调用Vue脚手架中的axios数据调用方式获取github提供的用户接口数据信息”》一文中的代码相同。        故:此处......
  • 看看Angular有啥新玩法!手把手教你在Angular15中集成Excel报表插件
    Angular15新特性Angular框架(以下简称“Angular”)作为一款由谷歌开发的Web应用程序框架,其强大的依赖注入系统、可重复使用的模块化开发理念和响应式编程模式等特点让Angular一问世便取得了巨大的关注和流量。截止目前为止,Angular已经迭代了15个版本,而Angular15又有哪些新的亮眼表现......
  • 前端vue基于原生check增强单选多选插件
    前端vue基于原生check增强单选多选插件, 下载完整代码请访问uni-app插件市场地址:https://ext.dcloud.net.cn/plugin?id=12979效果图如下:     ####使用方法```使用方法<!--多选组件 checkData:多选数据 @change:多选事件 --><ccCheckView:checkDa......
  • 使用CNI网络插件(calico)实现docker容器跨主机互联
    目录一.系统环境二.前言三.CNI网络插件简介四.常见的几种CNI网络插件对比五.Calico网络之间是如何通信的六.配置calico让物理机A上的docker容器c1可以访问物理机B上的docker容器c26.1安装部署etcd集群6.2安装部署docker6.3配置calico6.4使用Calico实现Docker容器跨主机互联七.......
  • mybatis分页插件之分页原理
    1. limit分⻚  126mysql的limit后⾯两个数字:第⼀个数字:startIndex(起始下标。下标从0开始。)第⼆个数字:pageSize(每⻚显示的记录条数)假设已知⻚码pageNum,还有每⻚显示的记录条数pageSize,第⼀个数字可以动态的获取吗?startIndex = (pageNum - 1) * pageSize所以,标准通⽤的mysql......
  • 可视化报表系统推荐
    在当今信息时代,数据的处理和分析已经成为了企业管理中不可或缺的一部分。而报表则是这个过程中最常见的工具之一。手工写报表虽然简单易懂,但是随着数据量的增加,这种方式逐渐暴露出许多痛点。比如说:1.时间耗费长:手工写报表需要大量的人力物力,花费时间长,容易出错。2.精度低:手工计算很......
  • 02-MyBatis-CRUD-配置文件、参数封装、mybatisX插件、动态sql, 简单的用注解开发
    文章目录MybatisCRUD练习1,配置文件实现CRUD1.1环境准备Debug01:别名mybatisx报错1.2查询所有数据1.2.1编写接口方法1.2.2编写SQL语句1.2.3编写测试方法1.2.4起别名解决上述问题1.2.5使用resultMap解决上述问题1.2.6小结1.3查询详情1.3.1编写接口方法1.3.2编写SQL语句......