Genere los gráficos correspondientes en función de los parámetros pasados
Copie el código de código de la siguiente manera:
loadChart: función (datos, elemento) {
var eso = esto;
require(['echarts', 'echarts/chart/bar', 'echarts/chart/line',
'echart/gráfico/circular'], función(ec) {
ese.cuerpo.setHeight(800);
var myChart = ec.init(ese.cuerpo.dom);
miGráfico.showLoading({
text : "Los datos del gráfico tienen dificultades para cargarse..."
});
opción var = {
información sobre herramientas: {
disparador: 'eje',
axisPointer: { // Indicador de eje, el disparador de eje es válido
tipo: 'sombra' // El valor predeterminado es línea recta, opcional: 'línea' |
}
},
leyenda : {
datos: datos.indis,
x: 'izquierda',
y: 'arriba'
},
caja de herramientas: {
mostrar: verdadero,
orientar: 'vertical',
x: 'correcto',
y: 'centro',
característica : {
marca : {
mostrar: verdadero
},
Vista de datos: {
mostrar: verdadero,
Sólo lectura: verdadero
},
tipo mágico: {
mostrar: verdadero,
tipo: ['línea', 'barra', 'pila', 'mosaico']
},
restaurar : {
mostrar: verdadero
},
guardar como imagen: {
mostrar: verdadero
}
}
},
calculable: verdadero,
animación: falsa,
Eje x: [{
tipo: 'categoría',
datos: datos.grp
}],
Eje y: [{
tipo: 'valor',
área dividida: {
mostrar: verdadero
}
}],
serie: data.bar.series
};
}
myChart.hideLoading();
myChart.setOption(opción);
that.imgURL = myChart.getDataURL('png');//Obtener codificación base64
});
},
initECart: función(){
requerir.config({
caminos: {
'echarts':'js/com/bhtec/echart/echarts',
'echarts/chart/bar' : 'js/com/bhtec/echart/echarts',
'echarts/chart/line': 'js/com/bhtec/echart/echarts',
'echarts/chart/pie': 'js/com/bhtec/echart/echarts'
}
});
}
Pasar datos al backend
Copie el código de código de la siguiente manera:
hacerExportar: función(){
var URL = this.chartPanel.getImageURL();
var título = Ext.fly('indi-display-title-id').first().dom.innerHTML;
var izquierda = Ext.getCmp("indi_pivotGrid_id").leftAxis.getTuples();
var t = Ext.getCmp("indi_pivotGrid_id").topAxis.getTuples();
//TODO Obtener la codificación de la imagen base64
Ext.Ajax.request({
URL: 'indicador/exp2excl.mvc',
parámetros: {
imgURL:URL,
izquierda:obtenerS(izquierda)
}
});
función obtenerS(d){
var arr = [],cadena;
for(var i=0;i<d.length;i++){
var s = IndiFn.getAxisStr(d[i]);
arr.push(s);
}
str = arr.join(',');
devolver cadena;
}
var datos = Ext.getCmp("indi_pivotGrid_id").extractData();
vars,arr=[];
for(var i=0;i<data.length;i++){
arr.push(datos[i]);
}
window.open('indicator/exportList2Excel.mvc?title='+encodeURIComponent(encodeURIComponent(title))+'&left='+encodeURIComponent(encodeURIComponent(getS(left)))+'' +
'&top='+encodeURIComponent(encodeURIComponent(getS(t)))+'&data='+arr.join(';'));
}
Analizar base64 y generar imágenes.
Copie el código de código de la siguiente manera:
public void base64TOpic (nombre de archivo de cadena, solicitud HttpServletRequest) {
//Base64 decodifica la cadena de matriz de bytes y genera una imagen
if (imgsURl == null) //Los datos de la imagen están vacíos
devolver ;
decodificador BASE64Decoder = nuevo BASE64Decoder();
intentar
{
Cadena[] url = imgsURl.split(",");
Cadena u = URL[1];
// decodificación Base64
byte[] buffer = nuevo BASE64Decoder().decodeBuffer(u);
//Generar imágenes
OutputStream out = new FileOutputStream(new File(req.getRealPath("pic/"+fileName+".jpg")));
out.write(búfer);
salida.flush();
fuera.cerrar();
devolver;
}
captura (Excepción e)
{
devolver;
}
}
Haz dibujos a través de poi y ponlos en Excel.
Copie el código de código de la siguiente manera:
fila = hoja.createRow(índice+3);
HSSFCell headerCell = fila.createCell(0);
encabezadoCell.setCellType(HSSFCell.CELL_TYPE_BLANK);
headerCell.setCellValue(título);
fila = hoja.createRow(índice + 6);
Celdas HSSFCell = fila.createCell(0);
celdas.setCellType(HSSFCell.CELL_TYPE_BLANK);
ByteArrayOutputStream outStream = new ByteArrayOutputStream() // Escribe la imagen en la secuencia.
BufferedImage bufferImg = ImageIO.read(new File(req.getRealPath("pic/"+fileName+".jpg")));
ImageIO.write(bufferImg, "PNG", outStream); // Usa HSSFPatriarch para escribir imágenes en EXCEL;
HSSFPatriarch patri = hoja.createDrawingPatriarch();
Ancla HSSFClientAnchor = nueva HSSFClientAnchor(5, 5, 5, 5,
(corto) 1, índice + 6, (corto) 6, 45);
patri.createPicture(ancla, libro de trabajo.addPicture(
outStream.toByteArray(), HSSFWorkbook.PICTURE_TYPE_PNG));
intentar {
libro de trabajo.escribir (fuera);
salida.flush();
fuera.cerrar();
} captura (IOException e) {
e.printStackTrace();
}