public static function run($dataDir = null)
 {
     $imageFormat = new ImageFormat();
     //Instantiate a new workbook with path to an Excel file
     $book = new Workbook($dataDir . "MyTestBook1.xls");
     //Create an object for ImageOptions
     $imgOptions = new ImageOrPrintOptions();
     //Set the image type
     $imgOptions->setImageFormat($imageFormat->getPng());
     //Get the first worksheet.
     $sheet = $book->getWorksheets()->get(0);
     //Create a SheetRender object for the target sheet
     $sr = new SheetRender($sheet, $imgOptions);
     for ($j = 0; $j < $sr->getPageCount(); $j++) {
         //Generate an image for the worksheet
         $sr->toImage($j, $dataDir . "mysheetimg" . $j . ".png");
     }
     // Print message
     print "Images generated successfully." . PHP_EOL;
 }
 public static function run($dataDir = null)
 {
     $chartType = new ChartType();
     $color = new Color();
     $imageFormat = new ImageFormat();
     //Create a new Workbook.
     $workbook = new Workbook();
     //Get the first worksheet.
     $sheet = $workbook->getWorksheets()->get(0);
     //Set the name of worksheet
     $sheet->setName("Data");
     //Get the cells collection in the sheet.
     $cells = $workbook->getWorksheets()->get(0)->getCells();
     //Put some values into a cells of the Data sheet.
     $cells->get("A1")->setValue("Region");
     $cells->get("A2")->setValue("France");
     $cells->get("A3")->setValue("Germany");
     $cells->get("A4")->setValue("England");
     $cells->get("A5")->setValue("Sweden");
     $cells->get("A6")->setValue("Italy");
     $cells->get("A7")->setValue("Spain");
     $cells->get("A8")->setValue("Portugal");
     $cells->get("B1")->setValue("Sale");
     $cells->get("B2")->setValue(70000);
     $cells->get("B3")->setValue(55000);
     $cells->get("B4")->setValue(30000);
     $cells->get("B5")->setValue(40000);
     $cells->get("B6")->setValue(35000);
     $cells->get("B7")->setValue(32000);
     $cells->get("B8")->setValue(10000);
     //Create chart
     $chartIndex = $sheet->getCharts()->add($chartType->COLUMN, 12, 1, 33, 12);
     $chart = $sheet->getCharts()->get($chartIndex);
     //Set properties of chart title
     $chart->getTitle()->setText("Sales By Region");
     $chart->getTitle()->getFont()->setBold(true);
     $chart->getTitle()->getFont()->setSize(12);
     //Set properties of nseries
     $chart->getNSeries()->add("Data!B2:B8", true);
     $chart->getNSeries()->setCategoryData("Data!A2:A8");
     //Set the fill colors for the series's data points (France - Portugal(7 points))
     $chartPoints = $chart->getNSeries()->get(0)->getPoints();
     $point = $chartPoints->get(0);
     $point->getArea()->setForegroundColor(java_values($color->getCyan()));
     $point = $chartPoints->get(1);
     $point->getArea()->setForegroundColor($color->getBlue());
     $point = $chartPoints->get(2);
     $point->getArea()->setForegroundColor($color->getYellow());
     $point = $chartPoints->get(3);
     $point->getArea()->setForegroundColor($color->getRed());
     $point = $chartPoints->get(4);
     $point->getArea()->setForegroundColor($color->getBlack());
     $point = $chartPoints->get(5);
     $point->getArea()->setForegroundColor($color->getGreen());
     $point = $chartPoints->get(6);
     $point->getArea()->setForegroundColor($color->getMaroon());
     //Set the legend invisible
     $chart->setShowLegend(false);
     //Get the Chart image
     $imgOpts = new ImageOrPrintOptions();
     $imgOpts->setImageFormat($imageFormat->getEmf());
     $fs = new FileOutputStream($dataDir . "Chart.emf");
     //Save the chart image file.
     $chart->toImage($fs, $imgOpts);
     $fs->close();
     // Print message
     print "<BR>";
     print "Processing performed successfully.";
 }