2017-03-02 10 views
6

tôi lấy ví dụ từ 33chartcreate-pie.php từ PHPExcel-1.8 và thay đổi theo nhu cầu của tôi. bây giờ ví dụ có giá trị trục x như thế nào.cách gửi dữ liệu trang tính tĩnh trong biểu đồ PHPExcel

$xAxisTickValues1 = array(
new PHPExcel_Chart_DataSeriesValues('String', 'Worksheet!$A$2:$A$5', NULL, 4), // Q1 to Q4 
); 

bây giờ, tôi muốn thêm nó tĩnh như PASS và FAIL như vậy, tôi thử nó như

$xAxisTickValues1 = array(
new PHPExcel_Chart_DataSeriesValues('String', 'PASS:FAIL', NULL, 2), // Q1 to Q4 
); 

nhưng, nó không phải đang làm việc. làm thế nào để đặt giá trị tĩnh nó mảng đó?

Trả lời

2

Ví dụ mà bạn làm theo:

$xAxisTickValues1 = array(
new PHPExcel_Chart_DataSeriesValues('String', 'Worksheet!$A$2:$A$5', NULL, 4), // Q1 to Q4 
); 

Đây Worksheet là tiêu đề của bảng. Vì vậy, trong khi vẽ biểu đồ, nó sẽ đọc giá trị từ tiêu đề được chỉ định, theo sau là các cột từ A2 đến A5.

Nếu bạn chỉ muốn thêm giá trị tĩnh. Tạo ô có nội dung tĩnh trong đó và chuyển chỉ mục ô tới các giá trị chuỗi dữ liệu.

1

Chúng tôi cần hiển thị nhãn tĩnh trong ô để hiển thị chúng trên biểu đồ hoặc biểu đồ PIE. Trong khi vẽ biểu đồ, chúng tôi có thể hiển thị và ẩn nhãn hoặc giá trị bằng các hàm như setShowVal, setShowCatName.

$objPHPExcel = new PHPExcel(); 
    $objWorksheet = $objPHPExcel->getActiveSheet(); 
    $objWorksheet->fromArray(
    array(
     array('', 2010, 2011, 2012), 
     array('PASS', 12, 15,  21), 
     array('FAIL', 56, 73,  86) 
    ) 
); 

    $dataSeriesLabels1 = array(
    new PHPExcel_Chart_DataSeriesValues('String', 'Worksheet!$C$1', NULL, 1), // 2011 
); 

    $xAxisTickValues1 = array(
    new PHPExcel_Chart_DataSeriesValues('String', 'Worksheet!$A$2:$A$3', NULL, 2), // Q1 to Q4 
); 

    $dataSeriesValues1 = array(
    new PHPExcel_Chart_DataSeriesValues('Number', 'Worksheet!$C$2:$C$3', NULL, 2), 
); 

    // Build the dataseries 
    $series1 = new PHPExcel_Chart_DataSeries(
    PHPExcel_Chart_DataSeries::TYPE_PIECHART,    // plotType 
    NULL,             // plotGrouping (Pie charts don't have any grouping) 
    range(0, count($dataSeriesValues1)-1),     // plotOrder 
    $dataSeriesLabels1,          // plotLabel 
    $xAxisTickValues1,          // plotCategory 
    $dataSeriesValues1          // plotValues 
); 

    // Set up a layout object for the Pie chart 
    $layout1 = new PHPExcel_Chart_Layout(); 
    /*$layout1->setShowVal(TRUE);*/ 
    $layout1->setShowCatName(TRUE); 

    // Set the series in the plot area 
    $plotArea1 = new PHPExcel_Chart_PlotArea($layout1, array($series1)); 
    // Set the chart legend 
    $legend1 = new  PHPExcel_Chart_Legend(PHPExcel_Chart_Legend::POSITION_RIGHT, NULL, false); 

    $title1 = new PHPExcel_Chart_Title('Test Pie Chart'); 


    // Create the chart 
    $chart1 = new PHPExcel_Chart(
    'chart1',  // name 
    $title1,  // title 
    $legend1,  // legend 
    $plotArea1,  // plotArea 
    true,   // plotVisibleOnly 
    0,    // displayBlanksAs 
    NULL,   // xAxisLabel 
    NULL   // yAxisLabel  - Pie charts don't have a Y-Axis 
    ); 
1

Sửa đổi mảng lại khai báo như sau

array(
     array('', 2010, 2011, 2012), 
     array('Q1', 12, 15,  21), 
     array('Pass or fail', 56, 73, 86) 
     ) 

. Đây là cách bạn có thể đặt giá trị tĩnh. Bây giờ để hiển thị nó, bạn có thể thêm thuộc tính vào bố cục của mình để hiển thị tên danh mục cho biểu đồ với ->setShowCatName(TRUE);

Các vấn đề liên quan