สร้างกราฟิกที่เกี่ยวข้องตามพารามิเตอร์ที่ส่งเข้ามา
คัดลอกรหัสรหัสดังต่อไปนี้:
loadChart: ฟังก์ชั่น (ข้อมูล, รายการ) {
var นั่น = นี่;
ต้องการ (['echarts', 'echarts/chart/bar', 'echarts/chart/line',
'echarts/chart/pie'], ฟังก์ชั่น(ec) {
that.body.setHeight(800);
var myChart = ec.init(that.body.dom);
myChart.showLoading({
text : "ข้อมูลแผนภูมิกำลังโหลดลำบาก..."
-
ตัวเลือก var = {
เคล็ดลับเครื่องมือ : {
ทริกเกอร์ : 'แกน'
axisPointer: { // ตัวบ่งชี้แกน ทริกเกอร์แกนถูกต้อง
type: 'shadow' // ค่าเริ่มต้นคือเส้นตรง, ตัวเลือก: 'line' | 'shadow'
-
-
ตำนาน : {
ข้อมูล: data.indis,
x : 'ซ้าย',
ย : 'บนสุด'
-
กล่องเครื่องมือ : {
แสดง: จริง,
แนว : 'แนวตั้ง',
x : 'ถูกต้อง',
y : 'ศูนย์กลาง',
คุณสมบัติ : {
เครื่องหมาย : {
แสดง: จริง
-
ข้อมูลมุมมอง : {
แสดง: จริง,
อ่านอย่างเดียว : จริง
-
ประเภทเวทย์มนตร์ : {
แสดง: จริง,
ประเภท : ['line', 'bar', 'stack', 'tiled']
-
คืนค่า : {
แสดง: จริง
-
บันทึกเป็นภาพ : {
แสดง: จริง
-
-
-
คำนวณได้: จริง,
ภาพเคลื่อนไหว: เท็จ
แกน x : [{
ประเภท : 'หมวดหมู่',
ข้อมูล: data.grp
-
แกน : [{
ประเภท: 'ค่า',
พื้นที่แยก : {
แสดง: จริง
-
-
ซีรีส์: data.bar.series
-
-
myChart.hideLoading();
myChart.setOption(ตัวเลือก);
that.imgURL = myChart.getDataURL('png');//รับการเข้ารหัส base64
-
-
initEChart : ฟังก์ชั่น(){
need.config({
เส้นทาง:{
'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'
-
-
-
ส่งข้อมูลไปยังแบ็กเอนด์
คัดลอกรหัสรหัสดังต่อไปนี้:
ทำการส่งออก: ฟังก์ชั่น () {
var url = this.chartPanel.getImageURL();
var title = Ext.fly('indi-display-title-id').first().dom.innerHTML;
var left = Ext.getCmp("indi_pivotGrid_id").leftAxis.getTuples();
var t = Ext.getCmp("indi_pivotGrid_id").topAxis.getTuples();
//สิ่งที่ต้องทำ รับการเข้ารหัสรูปภาพ base64
Ext.Ajax.request({
URL: 'ตัวบ่งชี้/exp2excl.mvc',
พารามิเตอร์ : {
imgURL:URL,
ซ้าย:getS(ซ้าย)
-
-
ฟังก์ชั่นgetS(d){
var arr = [],str;
สำหรับ(var i=0;i<d.length;i++){
var s = IndiFn.getAxisStr(d[i]);
arr.ผลักดัน(s);
-
str = arr.join(',');
กลับ STR;
-
ข้อมูล var = Ext.getCmp("indi_pivotGrid_id").extractData();
var s,arr=[];
สำหรับ(var i=0;i<data.length;i++){
arr.push(ข้อมูล[i]);
-
window.open('indicator/exportList2Excel.mvc?title='+encodeURIComponent(encodeURIComponent(title))+'&left='+encodeURIComponent(encodeURIComponent(getS(left)))+'' +
'&top='+encodeURIComponent(encodeURIComponent(getS(t)))+'&data='+arr.join(';'));
-
แยกวิเคราะห์ base64 และสร้างภาพ
คัดลอกรหัสรหัสดังต่อไปนี้:
โมฆะสาธารณะ base64TOpic (ชื่อไฟล์สตริง คำขอ HttpServletRequest) {
//Base64 ถอดรหัสสตริงอาร์เรย์ไบต์และสร้างรูปภาพ
ถ้า (imgsURl == null) // ข้อมูลรูปภาพว่างเปล่า
กลับ ;
ตัวถอดรหัส BASE64Decoder = ตัวถอดรหัส BASE64Decoder ใหม่ ();
พยายาม
-
สตริง[] url = imgsURl.split(",");
สตริง u = url[1];
//การถอดรหัส Base64
บัฟเฟอร์ไบต์ [] = BASE64Decoder ใหม่ ().decodeBuffer (u);
//สร้างภาพ
OutputStream out = new FileOutputStream(ไฟล์ใหม่(req.getRealPath("pic/"+fileName+".jpg")));
out.write (บัฟเฟอร์);
ออก.ล้าง();
ออก.ปิด();
กลับ;
-
จับ (ยกเว้น e)
-
กลับ;
-
-
วาดภาพผ่านปอยแล้วใส่ภาพลงใน Excel
คัดลอกรหัสรหัสดังต่อไปนี้:
แถว = sheet.createRow(ดัชนี+3);
ส่วนหัว HSSFCell = row.createCell(0);
headerCell.setCellType(HSSFCell.CELL_TYPE_BLANK);
headerCell.setCellValue (ชื่อ);
แถว = sheet.createRow (ดัชนี + 6);
เซลล์ HSSFCell = row.createCell(0);
cells.setCellType(HSSFCell.CELL_TYPE_BLANK);
ByteArrayOutputStream outStream = new ByteArrayOutputStream(); // เขียนภาพลงในสตรีม
BufferedImage bufferImg = ImageIO.read(ไฟล์ใหม่(req.getRealPath("pic/"+fileName+".jpg")));
ImageIO.write(bufferImg, "PNG", outStream); // ใช้ HSSFPatriarch เพื่อเขียนรูปภาพไปยัง EXCEL
HSSFPatriarch patri = sheet.create DrawingPatriarch();
HSSFClientAnchor สมอ = HSSFClientAnchor ใหม่ (5, 5, 5, 5,
(สั้น) 1, ดัชนี + 6, (สั้น) 6, 45);
patri.createPicture (สมอ, สมุดงาน. addPicture (
outStream.toByteArray(), HSSFWorkbook.PICTURE_TYPE_PNG));
พยายาม {
สมุดงาน. เขียน (ออก);
ออก.ล้าง();
ออก.ปิด();
} จับ (IOException จ) {
e.printStackTrace();
-