Диаграмма чертежа PHPExcel приводит к удалению нечитаемого содержимого и диаграммы

Я использовал PHPExcel для создания диаграммы, все вещи верны, но иногда, когда я открываю файл, он показывает сообщение, указывающее на нечитаемый контент, когда я нажимаю на кнопку «Да» для восстановления. Ниже - мой код.

    $workbook = new PHPExcel();
    for($sh = 0; $sh <= 2; $sh++)
    {   
        if($sh == 0)
        {   
            $sheet = $workbook->createSheet($sh); 
            $sheet = $workbook->setActiveSheetIndex($sh);
            $workbook->getActiveSheet()->setTitle($this->lang->line('co_repBased_pos'));
            $sheet_name = $sheet->getTitle();

        }
        elseif($sh == 1)
        {   //$sheet = $workbook->createSheet($sh);
            $sheet = $workbook->setActiveSheetIndex($sh);
                  $workbook->getActiveSheet()->setTitle($this->lang->line('co_repBased_jloc'));  
            $sheet_name = $sheet->getTitle();  
        }
        elseif($sh == 2)
        {   
            $sheet = $workbook->createSheet($sh);
            $sheet = $workbook->setActiveSheetIndex($sh); 
            $workbook->getActiveSheet()->setTitle($this->lang->line('co_total_rep'));  
            $sheet_name = $sheet->getTitle();

        }

        $sheet->getTabColor()->setRGB('CC000#');
        // Set the page setting for easy print option 
        $sheet->getPageSetup()->setOrientation(PHPExcel_Worksheet_PageSetup::ORIENTATION_PORTRAIT);
        $sheet->getPageSetup()->setPaperSize(PHPExcel_Worksheet_PageSetup::PAPERSIZE_A4);
        $sheet->getPageSetup()->setFitToPage(TRUE);
        $sheet->getPageSetup()->setFitToWidth(1);
        $sheet->getPageSetup()->setFitToHeight(0);
        // Set the protection of work book and sheet 
        $workbook->getSecurity()->setLockWindows(true);
        $workbook->getSecurity()->setLockStructure(true);
        $workbook->getSecurity()->setWorkbookPassword("pAsSwOrD");
        // Set sheet password protected 
        $sheet->getProtection()->setSheet(TRUE);

        $sheet->getProtection()->setSort(true);   
        $sheet->getProtection()->setInsertRows(true);   
        $sheet->getProtection()->setInsertColumns(true);   
        $sheet->getProtection()->setFormatCells(true); 
        $sheet->getProtection()->setSelectUnlockedCells(false);   
        $sheet->getProtection()->setSelectLockedCells(true);   
        $sheet->getProtection()->setObjects(true);   
        $sheet->getProtection()->setPassword("pAsSwOrD");   
        $styleHeadings = array(
                                'borders' => array(
                                    'allborders' => array(
                                        'style' => PHPExcel_Style_Border::BORDER_THIN,
                                            'color' => array('argb' => '#DBDBB7'),
                                        ),
                                    ),
                                'font' => array(
                                    'bold' => true,
                                    'size' => 20 
                                    ),
                                'fill' => array(
                                    'type' => PHPExcel_Style_Fill::FILL_GRADIENT_LINEAR,
                                    'startcolor' => array(
                                        'argb' => 'E9E9E9',
                                    ),
                                    'endcolor' => array(
                                        'argb' => 'E9E9E9',
                                    ),
                                ),
                                'alignment' => array(
                                'horizontal' => PHPExcel_Style_Alignment::HORIZONTAL_CENTER
                                ),   
                    );
        if($this->mng_auth->get_language()=='en')
        {
            $sheet->setRightToLeft(false); 
        }
        else
        {  
            $sheet->setRightToLeft(true); 
        }
        $start_headRow = $total_rows+1;
        $end_headRow = $total_rows+2;
        // Make the chart area setting 
        $j = 'B';       
        for($k = 0; $k < $course_count; $k++)
        {   
            $m=$k;
            $col = $j;           
            $j = chr(ord($j)+$m);    
        }  
        $total_std = 0;
        foreach($chart_total_stdOfCourse as $row)
        {
            if($row[1] > $total_std)
            {
                $total_std = $row[1];
            }
        }  

        $input_string  = $col;
        $base_value    = 64;
        $decimal_value = 26;
        $column_index  = 0;
        for ($d = 0; $d < strlen($input_string); $d++) 
        {
            // take the ASCII value.
            $char_value = ord($input_string[$d]);
            $char_value -= $base_value;
            $char_value *= pow($decimal_value, (strlen($input_string) - ($d + 1)));
            $column_index += $char_value;
        }
        //create column for present

        $present = PHPExcel_Cell::stringFromColumnIndex($column_index);
        //echo $course_count.'/'.$column_index.'/'.$end_headRow.'/'.$present; exit;
        if($column_index <= 9)
        {
            $present = 'J';
            $column_index = 9;
        }
        // End of chart area setting 
        $sheet->getStyle('A'.$start_headRow.':'.$present.$end_headRow)->applyFromArray($styleHeadings);
        if($sh == 0)
        {
            $sheet->setCellValue('A'.$start_headRow,'ÑÇæÑ æÑÓ åÇ Èå ÇÓÇÓ ÑÊÈå ÔÇÑÏ');
        }
        elseif($sh == 1)
        {
            $sheet->setCellValue('A'.$start_headRow,'ÑÇæÑ æÑÓ åÇ Èå ÇÓÇÓ ãÍá æÙíÝå ÔÇÑÏ');
        }
        elseif($sh == 2)
        {
            $sheet->setCellValue('A'.$start_headRow,'ÑÇæÑ æÑÓ åÇ Èå ÇÓÇÓ ãÌãæÚå ÔÇÑÏÇä');
        }
        $sheet->getStyle('A'.$start_headRow.':'.$present.$end_headRow)->getAlignment()->setWrapText(true);
        // Set mergeCells  start from 0 
        $sheet->mergeCellsByColumnAndRow(0,$start_headRow,$column_index,$end_headRow);
        if($sh == 0)
        {
            $sheet->fromArray(  
               $course_rep,
               NULL,
               'B'.$startRow_num 
            );
        }
        elseif($sh == 1)
        {
            $sheet->fromArray(  
               $course_jobLocBasedrep,
               NULL,
               'B'.$startRow_num  
            );

        }
        else
        {
            $sheet->fromArray(  
                   $chart_total_stdOfCourse,
                   NULL,
                   'B'.$startRow_num  
                );
        }
        if($sh <= 1)
        {
            $labels = array(
              new PHPExcel_Chart_DataSeriesValues('String', "'".$sheet_name."'".'!$C

Но когда я открываю файл, он показывает сообщение, указывающее нечитаемый контент, а когда я нажимаю кнопку «Да» для восстановления, диаграмма удаляется. Так что за любую помощь в решении этой проблемы спасибо.

.$startRow_num, null, 1), new PHPExcel_Chart_DataSeriesValues('String', "'".$sheet_name."'".'!$D

Но когда я открываю файл, он показывает сообщение, указывающее нечитаемый контент, а когда я нажимаю кнопку «Да» для восстановления, диаграмма удаляется. Так что за любую помощь в решении этой проблемы спасибо.

.$startRow_num, null, 1), new PHPExcel_Chart_DataSeriesValues('String', "'".$sheet_name."'".'!$E

Но когда я открываю файл, он показывает сообщение, указывающее нечитаемый контент, а когда я нажимаю кнопку «Да» для восстановления, диаграмма удаляется. Так что за любую помощь в решении этой проблемы спасибо.

.$startRow_num, null, 1), new PHPExcel_Chart_DataSeriesValues('String', "'".$sheet_name."'".'!$F

Но когда я открываю файл, он показывает сообщение, указывающее нечитаемый контент, а когда я нажимаю кнопку «Да» для восстановления, диаграмма удаляется. Так что за любую помощь в решении этой проблемы спасибо.

.$startRow_num, null, 1), ); // find the end row number of data source because we write from A2 so A3 is the start of main data $categories = array( new PHPExcel_Chart_DataSeriesValues('String', "'".$sheet_name."'".'!$B

Но когда я открываю файл, он показывает сообщение, указывающее нечитаемый контент, а когда я нажимаю кнопку «Да» для восстановления, диаграмма удаляется. Так что за любую помощь в решении этой проблемы спасибо.

.$category_start.':$B

Но когда я открываю файл, он показывает сообщение, указывающее нечитаемый контент, а когда я нажимаю кнопку «Да» для восстановления, диаграмма удаляется. Так что за любую помощь в решении этой проблемы спасибо.

.$total_rows, null, 4), ); $values = array( new PHPExcel_Chart_DataSeriesValues('Number', "'".$sheet_name."'".'!$C

Но когда я открываю файл, он показывает сообщение, указывающее нечитаемый контент, а когда я нажимаю кнопку «Да» для восстановления, диаграмма удаляется. Так что за любую помощь в решении этой проблемы спасибо.

.$category_start.':$C

Но когда я открываю файл, он показывает сообщение, указывающее нечитаемый контент, а когда я нажимаю кнопку «Да» для восстановления, диаграмма удаляется. Так что за любую помощь в решении этой проблемы спасибо.

.$total_rows, null, 4), new PHPExcel_Chart_DataSeriesValues('Number', "'".$sheet_name."'".'!$D

Но когда я открываю файл, он показывает сообщение, указывающее нечитаемый контент, а когда я нажимаю кнопку «Да» для восстановления, диаграмма удаляется. Так что за любую помощь в решении этой проблемы спасибо.

.$category_start.':$D

Но когда я открываю файл, он показывает сообщение, указывающее нечитаемый контент, а когда я нажимаю кнопку «Да» для восстановления, диаграмма удаляется. Так что за любую помощь в решении этой проблемы спасибо.

.$total_rows, null, 4), new PHPExcel_Chart_DataSeriesValues('Number', "'".$sheet_name."'".'!$E

Но когда я открываю файл, он показывает сообщение, указывающее нечитаемый контент, а когда я нажимаю кнопку «Да» для восстановления, диаграмма удаляется. Так что за любую помощь в решении этой проблемы спасибо.

.$category_start.':$E

Но когда я открываю файл, он показывает сообщение, указывающее нечитаемый контент, а когда я нажимаю кнопку «Да» для восстановления, диаграмма удаляется. Так что за любую помощь в решении этой проблемы спасибо.

.$total_rows, null, 4), new PHPExcel_Chart_DataSeriesValues('Number', "'".$sheet_name."'".'!$F

Но когда я открываю файл, он показывает сообщение, указывающее нечитаемый контент, а когда я нажимаю кнопку «Да» для восстановления, диаграмма удаляется. Так что за любую помощь в решении этой проблемы спасибо.

.$category_start.':$F

Но когда я открываю файл, он показывает сообщение, указывающее нечитаемый контент, а когда я нажимаю кнопку «Да» для восстановления, диаграмма удаляется. Так что за любую помощь в решении этой проблемы спасибо.

.$total_rows, null, 4), ); $series = new PHPExcel_Chart_DataSeries( PHPExcel_Chart_DataSeries::TYPE_BARCHART_3D, // plotType PHPExcel_Chart_DataSeries::GROUPING_STACKED, // plotGrouping array(0,1,2,3), // plotOrder $labels, // plotLabel $categories, // plotCategory $values // plotValues ); } elseif($sh == 2) { // Total student chart $labels = array( //new PHPExcel_Chart_DataSeriesValues('String', $sheet_name.'!$Q

Но когда я открываю файл, он показывает сообщение, указывающее нечитаемый контент, а когда я нажимаю кнопку «Да» для восстановления, диаграмма удаляется. Так что за любую помощь в решении этой проблемы спасибо.

.$startRow_num, null, 1), new PHPExcel_Chart_DataSeriesValues('String', "'".$sheet_name."'".'!$C

Но когда я открываю файл, он показывает сообщение, указывающее нечитаемый контент, а когда я нажимаю кнопку «Да» для восстановления, диаграмма удаляется. Так что за любую помощь в решении этой проблемы спасибо.

.$startRow_num, null, 1) ); // find the end row number of data source because we write from A2 so A3 is the start of main data $categories = array( new PHPExcel_Chart_DataSeriesValues('String', "'".$sheet_name."'".'!$B

Но когда я открываю файл, он показывает сообщение, указывающее нечитаемый контент, а когда я нажимаю кнопку «Да» для восстановления, диаграмма удаляется. Так что за любую помощь в решении этой проблемы спасибо.

.$category_start.':$B

Но когда я открываю файл, он показывает сообщение, указывающее нечитаемый контент, а когда я нажимаю кнопку «Да» для восстановления, диаграмма удаляется. Так что за любую помощь в решении этой проблемы спасибо.

.$total_rows, null, 1) ); $values = array( new PHPExcel_Chart_DataSeriesValues('Number', "'".$sheet_name."'".'!$C

Но когда я открываю файл, он показывает сообщение, указывающее нечитаемый контент, а когда я нажимаю кнопку «Да» для восстановления, диаграмма удаляется. Так что за любую помощь в решении этой проблемы спасибо.

.$category_start.':$C

Но когда я открываю файл, он показывает сообщение, указывающее нечитаемый контент, а когда я нажимаю кнопку «Да» для восстановления, диаграмма удаляется. Так что за любую помощь в решении этой проблемы спасибо.

.$total_rows, null, 1) //new PHPExcel_Chart_DataSeriesValues('Number', $sheet_name.'!$B

Но когда я открываю файл, он показывает сообщение, указывающее нечитаемый контент, а когда я нажимаю кнопку «Да» для восстановления, диаграмма удаляется. Так что за любую помощь в решении этой проблемы спасибо.

.$category_start.':$B

Но когда я открываю файл, он показывает сообщение, указывающее нечитаемый контент, а когда я нажимаю кнопку «Да» для восстановления, диаграмма удаляется. Так что за любую помощь в решении этой проблемы спасибо.

.$total_rows, null, 4), ); $series = new PHPExcel_Chart_DataSeries( PHPExcel_Chart_DataSeries::TYPE_BARCHART_3D, // plotType PHPExcel_Chart_DataSeries::GROUPING_STACKED, // plotGrouping array(0), // plotOrder $labels, // plotLabel $categories, // plotCategory $values // plotValues ); } $series->setPlotDirection(PHPExcel_Chart_DataSeries::DIRECTION_COL); $layout1 = new PHPExcel_Chart_Layout(); // Create object of chart layout to set data label $layout1->setShowVal(TRUE); $layout1->setManual3dAlign(true); $layout1->setXRotation(20); $layout1->setYRotation(20); $layout1->setPerspective(15); $layout1->setRightAngleAxes(TRUE); //$layout1->setShowPercent(TRUE); //$layout1->setShowCatName(TRUE); //$layout1->setShowSerName(TRUE); //$layout1->setShowBubbleSize(TRUE); //$layout1->setShowLeaderLines(TRUE); //$layout1->setShowLegendKey(TRUE); //$image = base_url().'image/app_req.jpeg'; //$header1 = new PHPExcel_Worksheet(); //$header1->setHeaderFooter(PHPExcel_Worksheet_HeaderFooter::addImage($image,'A12')); $plotarea = new PHPExcel_Chart_PlotArea($layout1, array($series)); $title_name = $this->lang->line('co_report').''.$this->lang->line('co_reportFrom').$rep_sdate.''.$this->lang->line('co_reportto').''.$rep_edate; //echo $title_name; exit; $title = new PHPExcel_Chart_Title($title_name, null); //$title = new PHPExcel_Chart_Title(new PHPExcel_RichText(new PHPExcel_Cell('A','1','Ttile Chart',PHPExcel_Cell_DataType::TYPE_STRING,$sheet))); $legend = new PHPExcel_Chart_Legend(PHPExcel_Chart_Legend::POSITION_RIGHT, null, false); $xTitle = new PHPExcel_Chart_Title($this->lang->line('course_names')); $yTitle = new PHPExcel_Chart_Title($this->lang->line('no_std')); $chart = new PHPExcel_Chart( 'chart1', // name $title, // title $legend, // legend $plotarea, // plotArea true, // plotVisibleOnly 0, // displayBlanksAs $xTitle, // xAxisLabel $yTitle // yAxisLabel ); $start_ofChart = $end_headRow+2; $chart->setTopLeftPosition('A'.$start_ofChart); if($total_std < 20) { $total_std+= 20; $present++; //echo $total_std; exit; $chart->setBottomRightPosition((string)$present."$total_std"); } $sheet->addChart($chart); } header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'); header('Content-Disposition: attachment;filename="training report.xlsx"'); header('Cache-Control: max-age=0'); $writer = PHPExcel_IOFactory::createWriter($workbook, 'Excel2007'); $writer->setIncludeCharts(TRUE); ob_start(); ob_end_clean(); $writer->save('php://output');

Но когда я открываю файл, он показывает сообщение, указывающее нечитаемый контент, а когда я нажимаю кнопку «Да» для восстановления, диаграмма удаляется. Так что за любую помощь в решении этой проблемы спасибо.

Ответы на вопрос(0)

Ваш ответ на вопрос