Gere gráficos correspondentes com base nos parâmetros passados em
Copie o código do código da seguinte forma:
loadChart: function(dados,item){
var isso = isso;
require(['echarts', 'echarts/gráfico/bar', 'echarts/gráfico/linha',
'echarts/gráfico/torta'], function(ec) {
aquele.body.setHeight(800);
var meugráfico = ec.init(that.body.dom);
meuChart.showLoading({
text: "Os dados do gráfico estão com dificuldade para carregar..."
});
opção var = {
dica de ferramenta: {
gatilho: 'eixo',
axisPointer: { // Indicador de eixo, o gatilho do eixo é válido
type: 'shadow' // O padrão é linha reta, opcional: 'line' |
}
},
lenda : {
dados: dados.indis,
x: 'esquerda',
você: 'topo'
},
caixa de ferramentas: {
mostrar: verdadeiro,
orientar: 'vertical',
x: 'certo',
y: 'centro',
recurso : {
marca : {
mostrar: verdadeiro
},
visualização de dados: {
mostrar: verdadeiro,
somente leitura: verdadeiro
},
tipo mágico: {
mostrar: verdadeiro,
tipo: ['linha', 'barra', 'pilha', 'lado a lado']
},
restaurar: {
mostrar: verdadeiro
},
salvar como imagem: {
mostrar: verdadeiro
}
}
},
calculável: verdadeiro,
animação: falso,
Eixo x: [{
tipo: 'categoria',
dados: dados.grp
}],
Eixo y: [{
tipo: 'valor',
área dividida: {
mostrar: verdadeiro
}
}],
série: data.bar.series
};
}
meuChart.hideLoading();
meuChart.setOption(opção);
that.imgURL = myChart.getDataURL('png'); //Obter codificação base64
});
},
initEChart : função(){
require.config({
caminhos:{
'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'
}
});
}
Passe dados para o back-end
Copie o código do código da seguinte forma:
doExportar: function(){
var url = this.chartPanel.getImageURL();
var título = Ext.fly('indi-display-title-id').first().dom.innerHTML;
var esquerda = Ext.getCmp("indi_pivotGrid_id").leftAxis.getTuples();
var t = Ext.getCmp("indi_pivotGrid_id").topAxis.getTuples();
//TODO Obtém a codificação da imagem base64
Ext.Ajax.request({
url: 'indicador/exp2excl.mvc',
parâmetros: {
imgURL:url,
esquerda:getS(esquerda)
}
});
função obterS(d){
var arr = [],str;
for(var i=0;i<d.comprimento;i++){
var s = IndiFn.getAxisStr(d[i]);
arr.push(s);
}
str = arr.join(',');
retornar string;
}
var dados = Ext.getCmp("indi_pivotGrid_id").extractData();
var s,arr=[];
for(var i=0;i<data.length;i++){
arr.push(dados[i]);
}
window.open('indicator/exportList2Excel.mvc?title='+encodeURIComponent(encodeURIComponent(title))+'&left='+encodeURIComponent(encodeURIComponent(getS(left)))+'' +
'&top='+encodeURIComponent(encodeURIComponent(getS(t)))+'&data='+arr.join(';'));
}
Analise base64 e gere imagens
Copie o código do código da seguinte forma:
public void base64TOpic(String fileName, HttpServletRequest req) {
//Base64 decodifica a string da matriz de bytes e gera uma imagem
if (imgsURl == null) //Os dados da imagem estão vazios
retornar ;
decodificador BASE64Decoder = novo BASE64Decoder();
tentar
{
String[] url = imgsURl.split(",");
String você = url[1];
//Decodificação Base64
byte[] buffer = new BASE64Decoder().decodeBuffer(u);
//Gerar fotos
OutputStream out = new FileOutputStream(new File(req.getRealPath("pic/"+fileName+".jpg")));
out.write (buffer);
fora.flush();
out.close();
retornar;
}
pegar (Exceção e)
{
retornar;
}
}
Desenhe imagens através do poi e coloque-as no Excel
Copie o código do código da seguinte forma:
linha = planilha.createRow(índice+3);
HSSFCell headerCell = row.createCell(0);
headerCell.setCellType(HSSFCell.CELL_TYPE_BLANK);
headerCell.setCellValue(título);
linha = planilha.createRow(índice + 6);
Células HSSFCell = row.createCell(0);
células.setCellType(HSSFCell.CELL_TYPE_BLANK);
ByteArrayOutputStream outStream = new ByteArrayOutputStream();
BufferedImage bufferImg = ImageIO.read(new File(req.getRealPath("pic/"+fileName+".jpg")));
ImageIO.write(bufferImg, "PNG", outStream); // Use HSSFPatriarch para escrever imagens no EXCEL;
HSSFPatriarch patri = sheet.createDrawingPatriarch();
Âncora HSSFClientAnchor = novo HSSFClientAnchor(5, 5, 5, 5,
(curto) 1, índice + 6, (curto) 6, 45);
patri.createPicture(âncora, pasta de trabalho.addPicture(
outStream.toByteArray(), HSSFWorkbook.PICTURE_TYPE_PNG));
tentar {
pasta de trabalho.write(out);
fora.flush();
out.close();
} catch (IOException e) {
e.printStackTrace();
}