Example #1
0
<?php 
$user_id = $_SESSION['userID'] ? $_SESSION['userID'] : 0;
if (!empty($_FILES['fileToUpload'])) {
    $inputFileName = $_FILES['fileToUpload']['tmp_name'];
    /** PHPExcel_IOFactory - Reader */
    include _DOC_ROOT_ . 'lib/ClassesPHPExel/PHPExcel/IOFactory.php';
    // Read CSV
    $objReader = new PHPExcel_Reader_CSV();
    // สร้าง object ของ Class PHPExcel_Reader_CSV
    $objReader->setInputEncoding('CP1252');
    // กำหนดค่าต่างตามนี้
    $objReader->setDelimiter(',');
    $objReader->setEnclosure('');
    $objReader->setLineEnding("\r\n");
    $objReader->setSheetIndex(0);
    $objPHPExcel = $objReader->load($inputFileName);
    //<====File Path
    $objWorksheet = $objPHPExcel->setActiveSheetIndex(0);
    $highestRow = $objWorksheet->getHighestRow();
    $highestColumn = $objWorksheet->getHighestColumn();
    $headingsArray = $objWorksheet->rangeToArray('A1:' . $highestColumn . '1', null, true, true, true);
    $headingsArray = $headingsArray[1];
    $r = -1;
    $dataArray = array();
    for ($row = 2; $row <= $highestRow; ++$row) {
        $dataRow = $objWorksheet->rangeToArray('A' . $row . ':' . $highestColumn . $row, null, true, true, true);
        if (isset($dataRow[$row]['A']) && $dataRow[$row]['A'] > '') {
            ++$r;
            $loop = 0;
            foreach ($headingsArray as $columnKey => $columnHeading) {
Example #2
0
 public function fromArray($resource, array $options = [])
 {
     $options = array_merge(['delimiter' => ',', 'enclosure' => '"', 'escape' => '\\', 'input_encoding' => 'UTF-8', 'parse_file' => false, 'output_format' => 'xlsx'], $options);
     $resource = parent::getRealResource($resource, $options);
     if (!is_string($resource) || !is_file($resource)) {
         $csv = new Csv($options);
         $resource = parent::tempStore(uniqid(), $csv->fromArray($resource, $options));
     }
     PhpExcelNsWrapper::init();
     $objReader = new \PHPExcel_Reader_CSV();
     $objReader->setInputEncoding($options['input_encoding']);
     $objReader->setDelimiter($options['delimiter']);
     $objReader->setEnclosure($options['enclosure']);
     $objReader->setLineEnding(false !== strpos($resource, "\r\n") ? "\r\n" : "\n");
     $objReader->setSheetIndex(0);
     $objPHPExcel = $objReader->load($resource);
     // The following statement is borrowed from PHPExcel_IOFactory
     switch (strtolower($options['output_format'])) {
         case 'xlsx':
             //	Excel (OfficeOpenXML) Spreadsheet
         //	Excel (OfficeOpenXML) Spreadsheet
         case 'xlsm':
             //	Excel (OfficeOpenXML) Macro Spreadsheet (macros will be discarded)
         //	Excel (OfficeOpenXML) Macro Spreadsheet (macros will be discarded)
         case 'xltx':
             //	Excel (OfficeOpenXML) Template
         //	Excel (OfficeOpenXML) Template
         case 'xltm':
             //	Excel (OfficeOpenXML) Macro Template (macros will be discarded)
             $extensionType = 'Excel2007';
             break;
         case 'xls':
             //	Excel (BIFF) Spreadsheet
         //	Excel (BIFF) Spreadsheet
         case 'xlt':
             //	Excel (BIFF) Template
             $extensionType = 'Excel5';
             break;
         case 'ods':
             //	Open/Libre Offic Calc
         //	Open/Libre Offic Calc
         case 'ots':
             //	Open/Libre Offic Calc Template
             $extensionType = 'OOCalc';
             break;
         case 'slk':
             $extensionType = 'SYLK';
             break;
         case 'xml':
             //	Excel 2003 SpreadSheetML
             $extensionType = 'Excel2003XML';
             break;
         case 'gnumeric':
             $extensionType = 'Gnumeric';
             break;
         case 'htm':
         case 'html':
             $extensionType = 'HTML';
             break;
         case 'csv':
             // Do nothing
             // This must be handled by the CSV class
             break;
         default:
             break;
     }
     if (is_null($extensionType)) {
         throw new JigException('Unable to identify a reader for this file');
     }
     $writer = \PHPExcel_IOFactory::createWriter($objPHPExcel, $extensionType);
     ob_start();
     $writer->save('php://output');
     $spreadsheet = ob_get_contents();
     ob_end_clean();
     return $spreadsheet;
 }