初学echarts的excel数据导入遇到的小问题
来源:互联网 发布:js if else 简写 编辑:程序博客网 时间:2024/06/05 14:29
1,单引号声明的字符串中如果有转义符(比如一个路径中的斜杠),这其实就是当作斜杠处理,不是转义字符。
但是当你在下文又和双引号声明的字符串链接时,就会导致问题,出现路径不对情况。
2,在定义SheetName的时候要在最后加一个$号。
3,同一个script快内的函数调用顺序与声明的顺序没有要求,但是如果两个函数在不同的acript块内,则被调用函数的声明必须在前一个script块中
4,在option的定义中,如过一个data后面如果少逗号,页面是完全不会显示的。 如果data是null,则会部分显示标题,或者注解。
以下是导入本地数据的echarts的helloworld:
<!DOCTYPE html><head> <meta charset="GBK"> <title>ECharts</title></head><body> <!-- 为ECharts准备一个具备大小(宽高)的Dom --> <div id="main" style="height:200px"></div><div id="main2" style="height:200px"></div><div id="main3" style="height:200px"></div><script src="http://echarts.baidu.com/build/dist/echarts.js"></script><script type="text/javascript">function importXLS(field){ var fileName = "xxxx";// xls文件的路径objCon = new ActiveXObject("ADODB.Connection");objCon.Provider = "Microsoft.Jet.OLEDB.4.0";objCon.ConnectionString = "Data Source=" + fileName + ";Extended Properties=Excel 8.0;";objCon.CursorLocation = 1;objCon.Open;var strQuery;//Get the SheetNamevar strSheetName = "Sheet1$"; //要导入的sheet的名字var rsTemp = new ActiveXObject("ADODB.Recordset");rsTemp = objCon.OpenSchema(20);if(!rsTemp.EOF)strSheetName = rsTemp.Fields("Table_Name").Value;rsTemp = null;rsExcel = new ActiveXObject("ADODB.Recordset");strQuery = "SELECT * FROM [" + strSheetName + "]";rsExcel.ActiveConnection = objCon;rsExcel.Open(strQuery);rsExcel.MoveNext;rsExcel.MoveNext; var res = [];var temp; var limit=339;while(!rsExcel.EOF && limit >0){ if(field ==3 || field ==4 || field ==5)temp = parseInt(rsExcel.Fields(field).value);elsetemp = rsExcel.Fields(field).value;res.push(temp);rsExcel.MoveNext; limit--;}// Close the connection and dispose the fileobjCon.Close;objCon =null;rsExcel = null;return res;} </script><script type="text/javascript"> // 路径配置 require.config({ paths: { echarts: 'http://echarts.baidu.com/build/dist' } }); // 使用 require( [ 'echarts', 'echarts/chart/bar', // 使用柱状图就加载bar模块,按需加载'echarts/chart/line' // 使用折线图就加载line模块,按需加载 ], function (ec) { var city = importXLS(2);var population = importXLS(3);var gdp = importXLS(4);var gdpper = importXLS(5); // 基于准备好的dom,初始化echarts图表 var myChart = ec.init(document.getElementById('main')); alert(gdpper[338]); var axisData = city;option = {title : {text: '第六次全国人口普查主要城市数据'},tooltip : {trigger: 'axis',showDelay: 0, // 显示延迟,添加显示延迟可以避免频繁切换,单位msformatter: function (params) {var res = params[0].name;res += '<br/>' + params[0].seriesName;res += '<br/> 人口总数 : ' + params[0].value + ' 万 ' ;return res;}},legend: {data:['人口','GDP(万)','人均GDP']},toolbox: {show : true,feature : {mark : {show: true},dataZoom : {show: true},magicType : {show: true, type: ['line', 'bar']},restore : {show: true},saveAsImage : {show: true}}},dataZoom : {y: 250,show : true,realtime: true,start : 50,end : 100},grid: {x: 80,y: 40,x2:20,y2:25},xAxis : [{type : 'category',boundaryGap : true,axisTick: {onGap:false},splitLine: {show:false},data : axisData}],yAxis : [{type : 'value',scale:true,boundaryGap: [0.05, 0.05],splitArea : {show : true}}],series : [{name:'人口',type:'line',data:population,markPoint : {data : [{type : 'max', name: '最大值'},{type : 'min', name: '最小值'}]},markLine : {data : [{type : 'average', name: '平均值'}]}} ]};option2 = {tooltip : {trigger: 'axis',showDelay: 0 // 显示延迟,添加显示延迟可以避免频繁切换,单位ms},legend: {y : -30,data:['人口','GDP(万)','人均GDP']},toolbox: {y : -30,show : true,feature : {mark : {show: true},dataZoom : {show: true},dataView : {show: true, readOnly: false},magicType : {show: true, type: ['line', 'bar']},restore : {show: true},saveAsImage : {show: true}}},dataZoom : {show : true,realtime: true,start : 50,end : 100},grid: {x: 80,y:5,x2:20,y2:40},xAxis : [{type : 'category',position:'top',boundaryGap : true,axisLabel:{show:false},axisTick: {onGap:false},splitLine: {show:false},data : axisData}],yAxis : [{type : 'value',scale:true,splitNumber: 3,boundaryGap: [0.05, 0.05],axisLabel: {formatter: function (v) {return Math.round(v/10000) + ' 万'}},splitArea : {show : true}}],series : [{name:'GDP(万)',type:'line',symbol: 'none',data: gdp,markPoint : {data : [{type : 'max', name: '最大值'},{type : 'min', name: '最小值'}]},markLine : {data : [{type : 'average', name: '平均值'}]}}]};myChart2 = ec.init(document.getElementById('main2'));myChart2.setOption(option2);option3 = {tooltip : {trigger: 'axis',showDelay: 0 // 显示延迟,添加显示延迟可以避免频繁切换,单位ms},legend: {y : -30,data:['人口','GDP(万)','人均GDP']},toolbox: {y : -30,show : true,feature : {mark : {show: true},dataZoom : {show: true},dataView : {show: true, readOnly: false},magicType : {show: true, type: ['line', 'bar']},restore : {show: true},saveAsImage : {show: true}}},dataZoom : {y:200,show : true,realtime: true,start : 50,end : 100},grid: {x: 80,y:5,x2:20,y2:30},xAxis : [{type : 'category',position:'bottom',boundaryGap : true,axisTick: {onGap:false},splitLine: {show:false},data : axisData}],yAxis : [{type : 'value',scale:true,splitNumber:3,boundaryGap: [0.05, 0.05],axisLabel: {formatter: function (v) {return Math.round(v/10000) + ' 万'}},splitArea : {show : true}}],series : [{name:'人均GDP',type:'bar',symbol: 'none', data: gdpper,markPoint : {data : [{type : 'max', name: '最大值'},{type : 'min', name: '最小值'}]},markLine : {data : [{type : 'average', name: '平均值'}]}}]};myChart3 = ec.init(document.getElementById('main3'));myChart3.setOption(option3);myChart.connect([myChart2, myChart3]);myChart2.connect([myChart, myChart3]);myChart3.connect([myChart, myChart2]);setTimeout(function (){window.onresize = function () {myChart.resize();myChart2.resize();myChart3.resize();}},200) // 为echarts对象加载数据 myChart.setOption(option); } );</script></body>
0 0
- 初学echarts的excel数据导入遇到的小问题
- 导入EXCEL遇到的问题
- 初学python遇到的一个小问题
- echarts遇到的一些问题。
- 初学遇到的问题
- excel导入数据库的一点小问题
- 通过Navicat向MySQL导入Excel文件格式数据的方法及遇到的问题
- C#导入数据到Excel中遇到的问题,已解决
- 从excel表导入数据到sql server 2005数据库遇到的问题
- 最近整理了个js,解决了excel导入读取数据遇到的种种问题
- DB2导入数据遇到的问题
- mysql批量导入数据遇到的问题
- 初学c++时容易遇到的几个小问题
- 初学Java遇到的一个数组小问题
- 细说EXCEL的数据导入问题
- 关于Excel数据导入Mysql的问题
- excel导入数据到sqlserver的问题
- 导入excel数据时候的问题
- SDOI2009晨跑题解
- js 中 ==与===区别(两个等号与三个等号)
- 接口的成员特点
- (4.1.18.5)Android Service学习之AIDL, Parcelable和远程服务
- Java实现Dijkstra算法
- 初学echarts的excel数据导入遇到的小问题
- PHP 5.5 新特性
- 程序闪退
- DP背包基础
- Combination Sum II
- CSS中IE6下双边距BUG解决方案
- 无线网络覆盖
- boost asio socket
- 互联网不是万能的