highcharts 批量下载;批量导出图片到Excel

本文介绍如何使用Highcharts实现批量下载图表以及将图片导出到Excel的操作,包括所需Java和JavaScript库的引入及使用说明。
摘要由CSDN通过智能技术生成

highcharts 批量下载;批量导出图片到Excel

  1. jar---------------------------------------------------------
    所需要jar包

    batik-all-1.7.jar
    xml-apis-ext-1.3.04.jar
    

链接: https://pan.baidu.com/s/1FkLvC7dnXdLla5FASpjEKw 提取码: 71aq 复制这段内容后打开百度网盘手机App,操作更方便哦

如果这个下载不下来就选择网址里的包,下面这个==! 用啥引入啥,会有一些依赖包自动下载(Maven Repository: batik)。

<!-- 		<dependency> -->
<!-- 			<groupId>org.apache.batik</groupId> -->
<!-- 			<artifactId>batik-svg-dom</artifactId> -->
<!-- 			<version>1.7</version> -->
<!-- 		</dependency> -->
<!-- 		<dependency> -->
<!-- 			<groupId>org.apache.batik</groupId> -->
<!-- 			<artifactId>batik-dom</artifactId> -->
<!-- 			<version>1.7</version> -->
<!-- 		</dependency> -->
<!-- 		<dependency> -->
<!-- 			<groupId>org.apache.batik</groupId> -->
<!-- 			<artifactId>batik-transcoder</artifactId> -->
<!-- 			<version>1.7</version> -->
<!-- 		</dependency> -->
<!-- 		<dependency> -->
<!-- 			<groupId>org.apache.batik</groupId> -->
<!-- 			<artifactId>batik-util</artifactId> -->
<!-- 			<version>1.7</version> -->
<!-- 		</dependency> -->
<!-- 		<dependency> -->
<!-- 			<groupId>org.apache.batik</groupId> -->
<!-- 			<artifactId>batik-bridge</artifactId> -->
<!-- 			<version>1.7</version> -->
<!-- 		</dependency> -->
<!-- 		<dependency> -->
<!-- 			<groupId>org.apache.batik</groupId> -->
<!-- 			<artifactId>batik-css</artifactId> -->
<!-- 			<version>1.7</version> -->
<!-- 		</dependency> -->
<!-- 		<dependency> -->
<!-- 			<groupId>org.apache.batik</groupId> -->
<!-- 			<artifactId>batik-gvt</artifactId> -->
<!-- 			<version>1.7</version> -->
<!-- 		</dependency> -->
  1. -----------------------JavaScript-------------------------------
var charArray = new Array();

function inHighcharts(id,chars,fig,figType){
   
		charObj=Highcharts.chart(id, {
   ……});
		charArray[charArray.length] = charObj;
}
//批量下载图片
$scope.allLoad=function(){
   			
	for(var i =0;i<charArray.length;i++){
   
		for(var key in charArray[i]){
   
		 (function(i) {
   
				setTimeout(function(){
   
					charArray[i].exportChart({
   
						type: 'image/png',//application/pdf
						filename: 'my-pdf'+i
					})
			}, (i + 1) * 1000);
			})(i)
				
			break;
		}			
	}		
}
// 批量导出excel
function(){
   
	……
	avgs[i] = charArray[i].getSVG();//获取Highcharts 图形参数传后台
	……
	//Ajax调用后台,传值 avgs
}
  1. ----------------------java后台---------------------------------------
package com.qhky.query.bo;

import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.util.List;

import org.apache.batik.transcoder.TranscoderException;
import org.apache.batik.transcoder.TranscoderInput;
import org.apache.batik.transcoder.TranscoderOutput;
import org.apache.batik.transcoder.image.PNGTranscoder;
import org.apache.commons.lang.StringEscapeUtils;
import org.apache.poi.hssf.usermodel.HSSFFont;
import org.apache.poi.hssf.util.HSSFColor;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.CellStyle;
import org.apache.poi.ss.usermodel.ClientAnchor;
import org.apache.poi.ss.usermodel.Drawing;
import org.apache.poi.ss.usermodel.Font;
import org.apache.poi.ss.usermodel.Picture;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFCellStyle;
import org.apache.poi.xssf.usermodel.XSSFClientAnchor;
import org.apache.poi.xssf.usermodel.XSSFFont;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
……

/***
 * 多值导出EXCEL Author:zhouyf Date:2017/9/12
 */
public class QQ0101E03BO extends BaseBo<QQ0101E03InDto, DownloadFileOutDto> {
   

	@Override
	protected CheckParamResult checkParam(QQ0101E03InDto arg0, LServerEnv arg1) {
   
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	protected DownloadFileOutDto execute(QQ0101E03InDto inDto, LServerEnv arg1) {
   
		// TODO Auto-generated method stub
		DownloadFileOutDto out = new DownloadFileOutDto();

		XSSFWorkbook workbook = null;
		
		try {
   
			workbook = new XSSFWorkbook();
			
			if (workbook != null) {
   
				Sheet sheet = workbook.createSheet("多值查询");
				
				int index = 0;
				int rowNum = 0;
				CellStyle style = getStyle(workbook);
				CellStyle style1 = getStyle1(workbook);
				CellStyle styleQuota=getStyleQuotaName(workbook);
				CellStyle styleTitle=getTitleStyle(workbook);

				for (QQ0101E03Dto m : inDto.getExportData()) {
   
					Row row = sheet.createRow(rowNum);
					Cell cell = row.createCell(0, Cell.CELL_TYPE_STRING);
					cell.setCellStyle(styleQuota);
					cell.setCellValue(m.getQuotaName() == null ? "无" : m.getQuotaName());

					/*Cell cell0 = row.createCell(1, Cell.CELL_TYPE_STRING);
					cell0.setCellStyle(style);
					cell0.setCellValue(m.getQuotaName() == null ? "无" : m.getQuotaName());*/

					rowNum = rowNum + 1;
					if (m.getParams() != null) {
   
						for (String key : m.getParams().keySet()) {
   
							Row row1 = sheet.createRow(rowNum);
							Cell cell1 = row1.createCell(0, Cell.CELL_TYPE_STRING);
							cell1.setCellStyle(style);
							cell1.setCellValue(key + ":"+(m.getParams().get(key
移动开发技术(Android)——实验1Android开发环境搭建及简单程序实现 移动开发技术(Android)——实验1 Android开发环境搭建及简单程序实现 ⼀、实验⽬的 1.熟练掌握Android开发环境搭建步骤; 2.掌握Android应⽤程序开发的基本步骤; 3.掌握Android应⽤程序结构。 ⼆、实验内容 1.Android开发环境搭建,要求: (1)将服务器上的相关开发下载到本机。 (2)按照步骤搭建Android开发环境。 (3)实验报告中要求⽤语⾔描述具体的搭建步骤,并附以截图做辅助说明。 2.创建⼀个Android项⽬,项⽬名称为"shiyan0101_⾃我介绍",要求: (1)界⾯构成:⾄少5个⽂本框,分别⽤于显⽰学⽣的姓名、性别、出⽣年⽉、专业班级、爱好等内容。 (2)实验报告中要求⽤语⾔描述具体的实验步骤,并附以截图做辅助说明。 3.创建⼀个Android项⽬,项⽬名称为"shiyan0102_⽤户登录",要求: (1)界⾯构成:2个⽂本框,分别⽤于显⽰"⽤户名:"、"密码",2个编辑框⽤户接收输⼊的⽤户名和密码,1个按钮,⽂本显⽰"登 录"。 (2)实验报告中要求⽤语⾔描述具体的实验步骤,并附以截图做辅助说明。 三、实验过程 1.⾸先解压缩eclipse⾄D盘,然后在eclipse⽂件夹下的dropins⽂件⾥创建⼀个名为ADT的⽂件夹,将ADT-22.0.5压缩中的features和 plugins复制到ADT中。 打开eclipse,选择菜单栏Window—>preferences—>在弹出的页⾯中选择Android选项—>SDK Location—>在右侧单击Browse按钮, 浏览到之前解压的SDK根⽬录,并单击"确定"按钮,然后再单击Apply和OK按钮。 2.创建⼀个Android项⽬,项⽬名称为"shiyan0101_⾃我介绍",要求: 界⾯构成:⾄少5个⽂本框,分别⽤于显⽰学⽣的姓名、性别、出⽣年⽉、专业班级、爱好等内容。 (1)在eclipse中创建⼀个Android Application Project,项⽬名称:shiyan0101_⾃我介绍 (2)在XML⽂件的GraphicLayout中⽤⿏标拖动5个TextView控件,分别设置text内容分别为name、sex、Birthday、Depertmant、 Hobby;⽤⿏标拖动5个EditText空间,分别放于5个TextView控件的后⾯。 (3)运⾏run——Andorid Application,程序结果截图如下 3.创建⼀个Android项⽬,项⽬名称为"shiyan0102_⽤户登录",要求: 界⾯构成:2个⽂本框,分别⽤于显⽰"⽤户名:"、"密码",2个编辑框⽤户接收输⼊的⽤户名和密码,1个按钮,⽂本显⽰"登录"。 (1)在ECLIPSE中创建⼀个Android Application Project,项⽬名称:shiyan0102_⽤户登录 (2)在XML⽂件的GraphicLayout中⽤⿏标拖动2个TextView控件,分别设置text内容分别为⽤户名、密码;⽤⿏标拖动2个EditText空 间,分别放于前两个个TextView控件的后⾯;⽤⿏标拖动⼀个button放于前者的下⾯,设置text内容为登陆。 (3)运⾏run——Andorid Application,程序结果截图如下。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值