Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- $jsons = db_select('import_export_json', 'r')
- ->fields('r')
- ->orderBy('r.pid', 'ASC')
- ->execute();
- set_include_path(get_include_path() . PATH_SEPARATOR . __DIR__ . '/lib/Classes');
- // //ini_set('open_basedir', __DIR__.'/tmp/');
- // //ini_set('open_basedir', ini_get('open_basedir').PATH_SEPARATOR.__DIR__.'/tmp/');
- ini_set('open_basedir', DRUPAL_ROOT . PATH_SEPARATOR . ini_get('open_basedir') . __DIR__ . '/tmp/');
- require_once 'PHPExcel.php';
- try {
- $cacheMethod = PHPExcel_CachedObjectStorageFactory::cache_to_phpTemp;
- $cacheSettings = array('memoryCacheSize ' => '256MB');
- PHPExcel_Settings::setCacheStorageMethod($cacheMethod, $cacheSettings);
- $workbook = new PHPExcel();
- $workbook->setActiveSheetIndex(0);
- $worksheet = $workbook->getActiveSheet();
- $worksheet->getPageSetup()->setRowsToRepeatAtTopByStartAndEnd(1, 1);
- $rowNumber = 1;
- // Write
- $row = array(
- 'A' => 'RID',
- 'B' => 'Статус',
- 'C' => 'Товар(назва) (Обязательное полe)',
- 'D' => 'Описание',
- 'E' => 'Показать в новинках',
- 'F' => 'Показать в популярних',
- 'G' => 'Изображение',
- 'H' => 'Производитель',
- 'I' => 'Марка/Модель',
- 'J' => 'Категория',
- 'K' => 'Ярлыки',
- 'L' => 'Доставка',
- 'M' => 'На складе',
- 'N' => 'Артикул(Обязательное полe)',
- 'O' => 'Цена по прейскуранту',
- 'P' => 'Стоимость',
- 'Q' => 'Цена продажи(Обязательное полe)',
- 'R' => 'Продукт доставляемый',
- 'S' => 'Позиция в списке'
- );
- foreach ($row as $c => $v) {
- $v = (string)$v;
- if (strlen($v) == 0) continue;
- //$v = iconv('utf-8', 'windows-1251', $v);
- $sell = (string)$c;
- $sell .= (string)$rowNumber;
- $worksheet->setCellValue($sell, $v);
- }
- $rowNumber++;
- $rowNumber++;
- file_put_contents(__DIR__ . '/log_export.txt', 'time export: ' . date("Y-m-d H:i:s") . PHP_EOL . PHP_EOL);
- foreach ($jsons as $row) {
- $raw = unserialize($row->raw);
- ksort($raw);
- foreach ($raw as $c => $v) {
- $v = (string)$v;
- if (strlen($v) == 0) continue;
- // $v = iconv('utf-8', 'windows-1251', $v);
- switch ($c) {
- case 0:
- $sell = 'A';
- break;
- case 1:
- $sell = 'B';
- break;
- case 2:
- $sell = 'C';
- break;
- case 3:
- $sell = 'D';
- break;
- case 4:
- $sell = 'E';
- break;
- case 5:
- $sell = 'F';
- break;
- case 6:
- $sell = 'G';
- break;
- case 7:
- $sell = 'H';
- break;
- case 8:
- $sell = 'I';
- break;
- case 9:
- $sell = 'J';
- break;
- case 10:
- $sell = 'K';
- break;
- case 11:
- $sell = 'L';
- break;
- case 12:
- $sell = 'M';
- break;
- case 13:
- $sell = 'N';
- break;
- case 14:
- $sell = 'O';
- break;
- case 15:
- $sell = 'P';
- break;
- case 16:
- $sell = 'Q';
- break;
- case 17:
- $sell = 'R';
- break;
- case 18:
- $sell = 'S';
- break;
- }
- $sell .= (string)$rowNumber;
- $worksheet->setCellValue($sell, $v);
- }
- file_put_contents(__DIR__ . '/log_export.txt', 'finish exporting tovar' .
- $rowNumber . '-----------------------------------' . PHP_EOL, FILE_APPEND);
- $rowNumber++;
- }
- header('Content-Type: application/vnd.ms-excel,\uFEFF');
- header('Content-Disposition: attachment;filename="Products.xls"');
- header('Cache-Control: max-age=0');
- $writer = PHPExcel_IOFactory::createWriter($workbook, 'Excel5');
- $writer->save('php://output');
- file_put_contents(__DIR__ . '/log_export.txt', 'File exporting xls' . PHP_EOL . PHP_EOL, FILE_APPEND);
- } catch (Exception $e) {
- file_put_contents(__DIR__ . '/log_export.txt', 'Error' . $e->getMessage() . PHP_EOL, FILE_APPEND);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement