Bagaimana cara memberi input pada highchart dari file excel

Saya ingin memberikan input data ke highcharts dari file excel saya (info.xlsx). Saya menulis kode di php yang mengambil data dari file excel dan mengubahnya menjadi JSON, kode php saya berjalan dengan sempurna dan memberikan output dalam format JSON. Saya ingin memberikan masukan ini ke grafik tinggi dan setiap kali saya mengubah data, data tersebut akan diperbarui sendiri. Saya telah melihat grafik demo dari sumber ini(http://www.highcharts.com/demo/pie-basic). Dalam sumber ini pengembang telah menyematkan data sampel dalam kode, saya ingin memberikan rangkaian data dari file excel. Saya membagikan file php dan file js saya. Saya butuh saran.

threeG.php // dibutuhkan file xlsx dan menghasilkan json-nya

<?php
header('Cache-Control: no-cache, must-revalidate');
header("Expires: Sat,26 Jul 1997 05:00:00 GMT");
header('Content-type: application/json');
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);
require_once('phpexcel/Classes/PHPExcel/IOFactory.php');
if(!file_exists("info.xlsx"))
{
    die("No File Exist");
}
$objPHPExcel = phpexcel_IOFactory::load("info.xlsx");
$objWorkSheet= $objPHPExcel->getActiveSheet();
define('Days',7);
$info=array();
$count=array();
$threeG_info= array($info,$count);
for ($col=0; $col < count($threeG_info); $col++)
{
    for ($row=1;$row<= Days+1;$row++)
    {
        $threeG_info[$col][$row-1]= $objWorkSheet-> getCellByColumnAndRow($col,$row)->getValue();
    }
}
echo json_encode($threeG_info);
?>

Ini adalah file js saya. Dimana saya ingin memberikan masukan, dari file excel saya.

$(function () {
    $('#container').highcharts({
        chart: {
            plotBackgroundColor: null,
            plotBorderWidth: 1,//null,
            plotShadow: false
        },
        title: {
            text: '3G Information'
        },
        tooltip: {
            pointFormat: '{series.name}: <b>{point.percentage:.1f}%</b>'
        },
        plotOptions: {
            pie: {
                allowPointSelect: true,
                cursor: 'pointer',
                dataLabels: {
                    enabled: true,
                    format: '<b>{point.name}</b>: {point.percentage:.1f} %',
                    style: {
                        color: (Highcharts.theme && Highcharts.theme.contrastTextColor) || 'black'
                    }
                }
            }
        },
        series: [{
            type: 'pie',
            name: 'Pie share',
            data: [

              **Want to give input here**
            ]
        }]
    });
});
$.ajax({
    url: "threeG.php",
    cache:false,
    type: 'json'
}).success(function(data)
{console.log(data);
}).error(function()
{
    alert('Error retrieving information');
});

person Umar Farooq    schedule 25.08.2014    source sumber


Jawaban (1)


Cukup buat bagan di dalam panggilan balik untuk $.ajax(), seperti ini:

$.ajax({
    url: "threeG.php",
    cache:false,
    type: 'json'
}).success(function(data) {
    $('#container').highcharts({
        // some options..
        series: [{
            data: data
        }]
    });
}).error(function(){
    alert('Error retrieving information');
});
person PaweÅ‚ Fus    schedule 25.08.2014
comment
Apa yang seharusnya ada di sini? ( seri: [{ ketik: 'pai', nama: 'Bagikan pai', data: [ Di sini]// cara menambahkan rentang di sini }]) - person Umar Farooq; 25.08.2014
comment
Saya tidak mengerti pertanyaan Anda. Sudahkah Anda mencoba solusi saya? Jika tidak berhasil, pastikan Anda memiliki format yang tepat untuk Highcharts: api.highcharts.com/ grafik tinggi#series.data - person Paweł Fus; 25.08.2014