<?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) {
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; }