Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public function actionDownloadPrice()
- {
- $objPHPExcel = new PHPExcel();
- $objPHPExcel->getProperties()
- ->setCreator("Komspec")
- ->setLastModifiedBy("Komspec")
- ->setTitle("Komspec Price")
- ->setSubject("Komspec Price")
- ->setDescription("Komspec Price")
- ->setKeywords("komspec price")
- ->setCategory("Komspec Price");
- $objPHPExcel->setActiveSheetIndex(0)
- ->setCellValue('A1', 'ID')
- ->setCellValue('B1', 'Категория')
- ->setCellValue('C1', 'Название')
- ->setCellValue('D1', 'Цена в Казани')
- ->setCellValue('E1', 'Цена в Самаре')
- ->setCellValue('F1', 'Цена в Нижнем Новгороде')
- ->setCellValue('G1', 'Цена в Ульяновске')
- ->setCellValue('H1', 'Цена в Саранске')
- ->setCellValue('I1', 'Цена в Чебоксарах')
- ->setCellValue('J1', 'Цена в Тольятти')
- ->setCellValue('K1', 'Цена в другом городе');
- $objPHPExcel->getActiveSheet()->setTitle('Прайс');
- $counter = 2;
- $cats = array();
- $categories = Categories::model()->findAll();
- foreach($categories as $item)
- $cats[$item->id] = $item->name;
- $goods = Goods::model()->findAll();
- foreach($goods as $item)
- {
- $objPHPExcel->setActiveSheetIndex(0)
- ->setCellValue('A' . $counter, $item->id)
- ->setCellValue('B' . $counter, $cats[$item->category_id])
- ->setCellValue('C' . $counter, $item->name)
- ->setCellValue('D' . $counter, $item->price1)
- ->setCellValue('E' . $counter, $item->price2)
- ->setCellValue('F' . $counter, $item->price3)
- ->setCellValue('G' . $counter, $item->price4)
- ->setCellValue('H' . $counter, $item->price5)
- ->setCellValue('I' . $counter, $item->price6)
- ->setCellValue('J' . $counter, $item->price8)
- ->setCellValue('K' . $counter, $item->price9);
- $counter++;
- }
- $objPHPExcel->getActiveSheet()->getColumnDimension('A')->setAutoSize(true);
- $objPHPExcel->getActiveSheet()->getColumnDimension('B')->setAutoSize(true);
- $objPHPExcel->getActiveSheet()->getColumnDimension('C')->setAutoSize(true);
- $objPHPExcel->getActiveSheet()->getColumnDimension('D')->setAutoSize(true);
- $objPHPExcel->getActiveSheet()->getColumnDimension('E')->setAutoSize(true);
- $objPHPExcel->getActiveSheet()->getColumnDimension('F')->setAutoSize(true);
- $objPHPExcel->getActiveSheet()->getColumnDimension('G')->setAutoSize(true);
- $objPHPExcel->getActiveSheet()->getColumnDimension('H')->setAutoSize(true);
- $objPHPExcel->getActiveSheet()->getColumnDimension('I')->setAutoSize(true);
- $objPHPExcel->getActiveSheet()->getColumnDimension('J')->setAutoSize(true);
- $objPHPExcel->getActiveSheet()->getColumnDimension('K')->setAutoSize(true);
- header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
- header('Content-Disposition: attachment;filename="komspec_price_' . date("d_m_Y") . '.xlsx');
- header('Cache-Control: max-age=0');
- header('Cache-Control: max-age=1');
- header ('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
- header ('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT');
- header ('Cache-Control: cache, must-revalidate');
- header ('Pragma: public');
- $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
- $objWriter->save('php://output');
- exit;
- }
- public function actionUploadPrice()
- {
- if (isset($_FILES['price']))
- {
- $filename = time() . $_FILES['price']['name'];
- if (move_uploaded_file($_FILES['price']['tmp_name'], Yii::getPathOfAlias('webroot') . '/upload/excel/' . $filename))
- {
- $list = array();
- $goods = Goods::model()->findAll();
- foreach($goods as $item)
- {
- $list[$item->id] = array('price1'=>$item->price1, 'price2'=>$item->price2, 'price3'=>$item->price3, 'price4'=>$item->price4, 'price5'=>$item->price5, 'price6'=>$item->price6, 'price8'=>$item->price8, 'price9'=>$item->price9);
- }
- $objPHPExcel = PHPExcel_IOFactory::load(Yii::getPathOfAlias('webroot') . '/upload/excel/' . $filename);
- $data = $objPHPExcel->getActiveSheet()->toArray();
- for($i = 1; $i < count($data); $i++)
- {
- if ($data[$i][3] != $list[$data[$i][0]]['price1'] || $data[$i][4] != $list[$data[$i][0]]['price2'] || $data[$i][5] != $list[$data[$i][0]]['price3'] || $data[$i][6] != $list[$data[$i][0]]['price4'] || $data[$i][7] != $list[$data[$i][0]]['price5'] || $data[$i][8] != $list[$data[$i][0]]['price6'] || $data[$i][9] != $list[$data[$i][0]]['price8'] || $data[$i][10] != $list[$data[$i][0]]['price9'])
- {
- $good = Goods::model()->findByPk($data[$i][0]);
- $good->price1 = $data[$i][3];
- $good->price2 = $data[$i][4];
- $good->price3 = $data[$i][5];
- $good->price4 = $data[$i][6];
- $good->price5 = $data[$i][7];
- $good->price6 = $data[$i][8];
- $good->price8 = $data[$i][9];
- $good->price9 = $data[$i][10];
- $good->save(false);
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement