echo '<pre>' . print_r($runs, true) . '</pre>';
}
+ public function excel2array() {
+
+ echo json_encode(wsUtil::excelToArray("/home/wesco/15296.xlsx"));
+ }
}
$i++;
}
} elseif ($ext == 'xlsx') {
- include_once ROOT . '/inc/ZendFramework/PHPExcel/PHPExcel.php';
- $objReader = PHPExcel_IOFactory::createReader('Excel2007');
- $objPHPExcel = $objReader->load($referencesFile);
-
-
- foreach ($objPHPExcel->getWorksheetIterator() as $worksheet) {
- if ($worksheet->getSheetState() != PHPExcel_Worksheet::SHEETSTATE_VISIBLE) {
- continue;
- }
- $title = $worksheet->getTitle();
- if (strlen($title) == 2 && cubeCountry::getCountry($title)) {
- $title = cubeCountry::getCountry($title);
- }
-
- $worksheets[$title] = $worksheet->toArray(null, true, true);
- }
- $flex->addVariable('basketReferences', $worksheets, false, true, "OrderedObject");
+ $flex->addVariable('basketReferences', wsUtil::excelToArray($referencesFile), false, true, "OrderedObject");
}
}
if (isset($xml)) {
$__autoload['wsLinks'] = dirname(__FILE__) . '/class.ws.links.php';\r
$__autoload['wsExporter'] = dirname(__FILE__) . '/class.ws.exporter.php';\r
$__autoload['wsPDFConvert'] = dirname(__FILE__) . '/class.ws.pdf.convert.php';\r
+$__autoload['wsUtil'] = dirname(__FILE__) . '/class.ws.util.php';\r
?>
\ No newline at end of file
--- /dev/null
+<?php\r
+\r
+class wsUtil {\r
+ public static function excelToArray($excelFile) {\r
+ $worksheets = array();\r
+ if (!file_exists($excelFile)) {\r
+ return array();\r
+ }\r
+\r
+ $cacheFile = WS_CACHE . '/xlsx2array/' . sha1($excelFile . '/' . filemtime($excelFile));\r
+\r
+ if (file_exists($cacheFile)) {\r
+ $worksheets = json_decode(file_get_contents($cacheFile));\r
+ } else {\r
+ set_time_limit(0);\r
+ include_once ROOT . '/inc/ZendFramework/PHPExcel/PHPExcel.php';\r
+ $objReader = PHPExcel_IOFactory::createReader('Excel2007');\r
+ $objPHPExcel = $objReader->load($excelFile);\r
+\r
+ foreach ($objPHPExcel->getWorksheetIterator() as $worksheet) {\r
+ if ($worksheet->getSheetState() != PHPExcel_Worksheet::SHEETSTATE_VISIBLE) {\r
+ continue;\r
+ }\r
+ $title = $worksheet->getTitle();\r
+ if (strlen($title) == 2 && cubeCountry::getCountry($title)) {\r
+ $title = cubeCountry::getCountry($title);\r
+ }\r
+\r
+ $worksheets[$title] = $worksheet->toArray(null, true, true);\r
+ }\r
+ file_put_contents($cacheFile, json_encode($worksheets));\r
+ }\r
+\r
+ return $worksheets;\r
+ }\r
+}
\ No newline at end of file
if (file_exists($referencesFile)) {
$ext = CubeIT_Files::getExtension($referencesFile);
if ($ext == 'xlsx') {
- include_once ROOT . '/inc/ZendFramework/PHPExcel/PHPExcel.php';
- $objReader = PHPExcel_IOFactory::createReader('Excel2007');
- $objPHPExcel = $objReader->load($referencesFile);
-
-
- foreach ($objPHPExcel->getWorksheetIterator() as $worksheet) {
- if ($worksheet->getSheetState() != PHPExcel_Worksheet::SHEETSTATE_VISIBLE) {
- continue;
- }
- $title = $worksheet->getTitle();
- if (strlen($title) == 2 && cubeCountry::getCountry($title)) {
- $title = cubeCountry::getCountry($title);
- }
-
- $worksheets[$title] = $worksheet->toArray(null, true, true);
- }
- $this->config->basketReferences = $worksheets;
+ $this->config->basketReferences = wsUtil::excelToArray($referencesFile);
}
}
}