496 lines
25 KiB
PHP
496 lines
25 KiB
PHP
<?php
|
|
|
|
/**
|
|
* @author Any
|
|
* @description KISS
|
|
* @date 2021年9月1日
|
|
* @version 1.0.0
|
|
*
|
|
* _____LOG_____
|
|
*
|
|
*/
|
|
namespace app\components;
|
|
|
|
|
|
use PHPExcel;
|
|
use PHPExcel_IOFactory;
|
|
|
|
require_once __DIR__ . '/../vendor/phpoffice/phpexcel/Classes/PHPExcel.php';
|
|
require_once __DIR__ . '/../vendor/phpoffice/phpexcel/Classes/PHPExcel/IOFactory.php';
|
|
|
|
class ExportFile
|
|
{
|
|
public static function getSheetColIndex($index)
|
|
{
|
|
$letters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
|
|
if($index <= 26){
|
|
return $letters[$index - 1];
|
|
}
|
|
if($index <= 26 * 26){
|
|
$int = floor($index / 26);
|
|
$remainder = $index % 26;
|
|
return $letters[$int - 1] . $letters[$remainder - 1];
|
|
}
|
|
throw new \Exception("超出范围");
|
|
}
|
|
|
|
/**
|
|
* @param array $data $data['title']工作表标题,$data['list']工作表数据
|
|
* @param string $filename 文件保存路径
|
|
* @param string $style 工作表样式
|
|
* @param string $author 作者信息
|
|
*/
|
|
public static function xlsx($data, $filename, $style="default", $author="Any")
|
|
{
|
|
//引入Excel类
|
|
$objPHPExcel = new \PHPExcel();
|
|
// 设置excel文档的属性
|
|
$objPHPExcel->getProperties()->setCreator($author)
|
|
->setLastModifiedBy($author)
|
|
->setTitle($author)
|
|
->setSubject($author)
|
|
->setDescription($author)
|
|
->setKeywords($author)
|
|
->setCategory($author);
|
|
//设置excel工作表名及文件名
|
|
$title = $data['title'];
|
|
$objPHPExcel->getActiveSheet()->setTitle($title);
|
|
$objPHPExcel->getActiveSheet()->getRowDimension('1')->setRowHeight(25);
|
|
if(!isset($data['list'])){
|
|
throw new \Exception("缺少数据");
|
|
}
|
|
foreach ($data['list'] as $index => $item){
|
|
$rowIndex = $index + 1;
|
|
for($k=0; $k < count($item); $k++){
|
|
$pos = self::getSheetColIndex($k+1).$rowIndex;
|
|
if($style == "default"){
|
|
$objPHPExcel->getActiveSheet()->setCellValue($pos,$item[$k]);
|
|
if($rowIndex == 1){
|
|
$objPHPExcel->getActiveSheet()->getStyle($pos)->getFont()->setSize(10)->setBold(true);
|
|
$objPHPExcel->getActiveSheet()->getStyle($pos)->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
|
|
}
|
|
} else {
|
|
$objPHPExcel->getActiveSheet()->setCellValue($pos,$item[$k]);
|
|
}
|
|
}
|
|
}
|
|
$exportPath = dirname($filename);
|
|
$exportPath = trim($exportPath,".");
|
|
$exportPath = trim($exportPath,"/");
|
|
if(!file_exists($exportPath) && strlen($exportPath)){
|
|
self::mkDir($exportPath);
|
|
}
|
|
$objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
|
|
$objWriter->save($filename);
|
|
if(file_exists($filename)){
|
|
return $filename;
|
|
}
|
|
throw new \Exception("文件导出失败");
|
|
}
|
|
|
|
public static function csv()
|
|
{
|
|
|
|
}
|
|
|
|
//目录创建(递归创建)
|
|
public static function mkDir($dir, $mode = 0777)
|
|
{
|
|
return is_dir($dir) or self::mkDir(dirname($dir), $mode) and mkdir($dir, $mode);
|
|
}
|
|
|
|
//导出订单
|
|
public static function export_goods_order_put($data,$fileName,$is_local)
|
|
{
|
|
set_time_limit(0);
|
|
$objPHPExcel = new \PHPExcel();
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('A1', '订单编号');
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('B1', '订单金额(原价)');
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('C1', '订单金额(优惠后)');
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('D1', '订单金额(实付)');
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('E1', '会员折扣');
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('F1', '积分抵扣');
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('G1', '下单用户(用户名)');
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('H1', '下单用户(手机号)');
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('I1', '所属门店');
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('J1', '购买服务');
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('K1', '订单状态');
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('L1', '下单日期');
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('M1', '支付日期');
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('N1', '商品名称');
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('O1', '购买数量');
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('P1', '单价');
|
|
|
|
//设置第一行的背景颜色
|
|
$objPHPExcel->getActiveSheet()
|
|
->getStyle('A1:P1')
|
|
->getFill()
|
|
->setFillType(\PHPExcel_Style_Fill::FILL_SOLID)
|
|
->getStartColor()
|
|
->setRGB('FFFF00');
|
|
|
|
$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(35);
|
|
$objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(20);
|
|
$objPHPExcel->getActiveSheet()->getColumnDimension('C')->setWidth(20);
|
|
$objPHPExcel->getActiveSheet()->getColumnDimension('D')->setWidth(20);
|
|
$objPHPExcel->getActiveSheet()->getColumnDimension('G')->setWidth(25);
|
|
$objPHPExcel->getActiveSheet()->getColumnDimension('H')->setWidth(20);
|
|
$objPHPExcel->getActiveSheet()->getColumnDimension('I')->setWidth(30);
|
|
$objPHPExcel->getActiveSheet()->getColumnDimension('J')->setWidth(10);
|
|
$objPHPExcel->getActiveSheet()->getColumnDimension('K')->setWidth(20);
|
|
$objPHPExcel->getActiveSheet()->getColumnDimension('L')->setWidth(20);
|
|
$objPHPExcel->getActiveSheet()->getColumnDimension('M')->setWidth(20);
|
|
$objPHPExcel->getActiveSheet()->getColumnDimension('N')->setWidth(30);
|
|
$objPHPExcel->getActiveSheet()->getColumnDimension('O')->setWidth(10);
|
|
$objPHPExcel->getActiveSheet()->getColumnDimension('P')->setWidth(10);
|
|
|
|
$i = 2;
|
|
foreach($data as $key => $val){
|
|
|
|
$children = $data[$key]['children'];
|
|
$count = count($children);
|
|
$k = $i; //初始化订单行号
|
|
foreach ($children as $index => $item){
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('N'.$k, $children[$index]['goods_name']);
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('O'.$k, $children[$index]['num']);
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('P'.$k, $children[$index]['unit_price']);
|
|
$k++;
|
|
}
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('A'.$i, $data[$key]['order_no']);
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('B'.$i, $data[$key]['total_price']);
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('C'.$i, $data[$key]['total_goods_price']);
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('D'.$i, $data[$key]['total_pay_price']);
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('E'.$i, $data[$key]['member_discount']);
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('F'.$i, $data[$key]['integral']);
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('G'.$i, $data[$key]['nickname']);
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('H'.$i, $data[$key]['mobile_phone']);
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('I'.$i, $data[$key]['store_name']);
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('J'.$i, $data[$key]['plugin_sign_cn']);
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('K'.$i, $data[$key]['state_cn']);
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('L'.$i, $data[$key]['created_at_cn']);
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('M'.$i, $data[$key]['pay_time_cn']);
|
|
|
|
|
|
if(!empty($count)){
|
|
$k = $k-1; //行号回退一行
|
|
$index_A = "A{$i}:A{$k}";
|
|
$index_B = "B{$i}:B{$k}";
|
|
$index_C = "C{$i}:C{$k}";
|
|
$index_D = "D{$i}:D{$k}";
|
|
$index_E = "E{$i}:E{$k}";
|
|
$index_F = "F{$i}:F{$k}";
|
|
$index_G = "G{$i}:G{$k}";
|
|
$index_H = "H{$i}:H{$k}";
|
|
$index_I = "I{$i}:I{$k}";
|
|
$index_J = "J{$i}:J{$k}";
|
|
$index_K = "K{$i}:K{$k}";
|
|
$index_L = "L{$i}:L{$k}";
|
|
$index_M = "M{$i}:M{$k}";
|
|
$objPHPExcel->getActiveSheet()->mergeCells($index_A);
|
|
$objPHPExcel->getActiveSheet()->mergeCells($index_B);
|
|
$objPHPExcel->getActiveSheet()->mergeCells($index_C);
|
|
$objPHPExcel->getActiveSheet()->mergeCells($index_D);
|
|
$objPHPExcel->getActiveSheet()->mergeCells($index_E);
|
|
$objPHPExcel->getActiveSheet()->mergeCells($index_F);
|
|
$objPHPExcel->getActiveSheet()->mergeCells($index_G);
|
|
$objPHPExcel->getActiveSheet()->mergeCells($index_H);
|
|
$objPHPExcel->getActiveSheet()->mergeCells($index_I);
|
|
$objPHPExcel->getActiveSheet()->mergeCells($index_J);
|
|
$objPHPExcel->getActiveSheet()->mergeCells($index_K);
|
|
$objPHPExcel->getActiveSheet()->mergeCells($index_L);
|
|
$objPHPExcel->getActiveSheet()->mergeCells($index_M);
|
|
$i = $k; //初始化行号
|
|
}
|
|
|
|
$i++;
|
|
}
|
|
$objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
|
|
if(!$is_local){
|
|
ob_clean();
|
|
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
|
|
header('Content-Disposition: attachment;filename="' . $fileName . '.xlsx');
|
|
header('Cache-Control: max-age=1');
|
|
$objWriter->save('php://output');
|
|
exit;
|
|
}else{
|
|
$y_m = date('Y-m',time());
|
|
$file_dir = "Excel/saleroom/{$y_m}";
|
|
if(!file_exists($file_dir)){
|
|
self::mkDir($file_dir);
|
|
}
|
|
$objWriter->save ( "{$file_dir}/{$fileName}.xls" );
|
|
exit();
|
|
}
|
|
}
|
|
|
|
//导出订单
|
|
public static function export_boox_order_put($data,$fileName,$is_local)
|
|
{
|
|
set_time_limit(0);
|
|
$objPHPExcel = new \PHPExcel();
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('A1', '订单编号'); //created_at_cn
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('B1', '订单金额(原价)'); //order_no
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('C1', '订单金额(优惠后)'); //supplier_name
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('D1', '订单金额(实付)'); //supplier_name
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('E1', '会员折扣'); //supplier_name
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('F1', '积分抵扣'); //supplier_name
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('G1', '下单用户(用户名)'); //warehouse_name
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('H1', '下单用户(手机号)'); //warehouse_name
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('I1', '所属门店'); //warehouse_name
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('J1', '购买服务'); //warehouse_name
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('K1', '订单状态'); //op_status_cn
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('L1', '包厢名称'); //num
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('M1', '开始时间'); //put_time
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('N1', '结束时间'); //put_time
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('O1', '时长(小时)'); //put_time
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('P1', '下单时间'); //put_time
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('Q1', '支付时间'); //put_time
|
|
//设置第一行的背景颜色
|
|
$objPHPExcel->getActiveSheet()
|
|
->getStyle('A1:P1')
|
|
->getFill()
|
|
->setFillType(\PHPExcel_Style_Fill::FILL_SOLID)
|
|
->getStartColor()
|
|
->setRGB('FFFF00');
|
|
|
|
$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(35);
|
|
$objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(20);
|
|
$objPHPExcel->getActiveSheet()->getColumnDimension('C')->setWidth(20);
|
|
$objPHPExcel->getActiveSheet()->getColumnDimension('D')->setWidth(20);
|
|
$objPHPExcel->getActiveSheet()->getColumnDimension('G')->setWidth(25);
|
|
$objPHPExcel->getActiveSheet()->getColumnDimension('H')->setWidth(20);
|
|
$objPHPExcel->getActiveSheet()->getColumnDimension('I')->setWidth(30);
|
|
$objPHPExcel->getActiveSheet()->getColumnDimension('J')->setWidth(10);
|
|
$objPHPExcel->getActiveSheet()->getColumnDimension('K')->setWidth(10);
|
|
$objPHPExcel->getActiveSheet()->getColumnDimension('L')->setWidth(20);
|
|
$objPHPExcel->getActiveSheet()->getColumnDimension('M')->setWidth(20);
|
|
$objPHPExcel->getActiveSheet()->getColumnDimension('N')->setWidth(20);
|
|
$objPHPExcel->getActiveSheet()->getColumnDimension('O')->setWidth(10);
|
|
$objPHPExcel->getActiveSheet()->getColumnDimension('P')->setWidth(20);
|
|
$objPHPExcel->getActiveSheet()->getColumnDimension('Q')->setWidth(20);
|
|
|
|
$i = 2;
|
|
foreach($data as $key => $val){
|
|
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('A'.$i, $data[$key]['order_no']);
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('B'.$i, $data[$key]['total_price']);
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('C'.$i, $data[$key]['total_goods_price']);
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('D'.$i, $data[$key]['total_pay_price']);
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('E'.$i, $data[$key]['member_discount']);
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('F'.$i, $data[$key]['integral']);
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('G'.$i, $data[$key]['nickname']);
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('H'.$i, $data[$key]['mobile_phone']);
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('I'.$i, $data[$key]['store_name']);
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('J'.$i, $data[$key]['plugin_sign_cn']);
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('K'.$i, $data[$key]['state_cn']);
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('L'.$i, $data[$key]['box_name']);
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('M'.$i, $data[$key]['start_time']);
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('N'.$i, $data[$key]['end_time']);
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('O'.$i, $data[$key]['duration']);
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('P'.$i, $data[$key]['created_at_cn']);
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('Q'.$i, $data[$key]['pay_time_cn']);
|
|
|
|
$i++;
|
|
}
|
|
$objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
|
|
if(!$is_local){
|
|
ob_clean();
|
|
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
|
|
header('Content-Disposition: attachment;filename="' . $fileName . '.xlsx');
|
|
header('Cache-Control: max-age=1');
|
|
$objWriter->save('php://output');
|
|
exit;
|
|
}else{
|
|
$y_m = date('Y-m',time());
|
|
$file_dir = "Excel/saleroom/{$y_m}";
|
|
if(!file_exists($file_dir)){
|
|
self::mkDir($file_dir);
|
|
}
|
|
$objWriter->save ( "{$file_dir}/{$fileName}.xls" );
|
|
exit();
|
|
}
|
|
}
|
|
|
|
public static function export_user($data,$fileName,$is_local)
|
|
{
|
|
set_time_limit(0);
|
|
$objPHPExcel = new \PHPExcel();
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('A1', '用户昵称'); //created_at_cn
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('B1', '用户手机号'); //order_no
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('C1', '性别'); //order_no
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('D1', '会员等级'); //supplier_name
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('E1', '账户余额'); //supplier_name
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('F1', '可提现余额'); //supplier_name
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('G1', '积分余额'); //supplier_name
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('H1', '上级用户'); //warehouse_name
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('I1', '上级手机号'); //warehouse_name
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('J1', '注册时间'); //warehouse_name
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('K1', '状态'); //warehouse_name
|
|
//设置第一行的背景颜色
|
|
$objPHPExcel->getActiveSheet()
|
|
->getStyle('A1:K1')
|
|
->getFill()
|
|
->setFillType(\PHPExcel_Style_Fill::FILL_SOLID)
|
|
->getStartColor()
|
|
->setRGB('FFFF00');
|
|
|
|
$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(25);
|
|
$objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(20);
|
|
$objPHPExcel->getActiveSheet()->getColumnDimension('H')->setWidth(25);
|
|
$objPHPExcel->getActiveSheet()->getColumnDimension('I')->setWidth(20);
|
|
$objPHPExcel->getActiveSheet()->getColumnDimension('J')->setWidth(15);
|
|
|
|
$i = 2;
|
|
foreach($data as $key => $val){
|
|
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('A'.$i, $data[$key]['nickname']);
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('B'.$i, $data[$key]['mobile_phone']);
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('C'.$i, $data[$key]['gender_cn']);
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('D'.$i, $data[$key]['level_name']);
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('E'.$i, $data[$key]['account_balance']);
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('F'.$i, $data[$key]['account_balance_with']);
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('G'.$i, $data[$key]['account_integral']);
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('H'.$i, $data[$key]['parent_name']);
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('I'.$i, $data[$key]['parent_mobile']);
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('J'.$i, $data[$key]['created_at_cn']);
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('K'.$i, $data[$key]['status_cn']);
|
|
|
|
$i++;
|
|
}
|
|
$objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
|
|
if(!$is_local){
|
|
ob_clean();
|
|
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
|
|
header('Content-Disposition: attachment;filename="' . $fileName . '.xlsx');
|
|
header('Cache-Control: max-age=1');
|
|
$objWriter->save('php://output');
|
|
exit;
|
|
}else{
|
|
$y_m = date('Y-m',time());
|
|
$file_dir = "Excel/saleroom/{$y_m}";
|
|
if(!file_exists($file_dir)){
|
|
self::mkDir($file_dir);
|
|
}
|
|
$objWriter->save ( "{$file_dir}/{$fileName}.xls" );
|
|
exit();
|
|
}
|
|
}
|
|
|
|
public static function order_search_export($data,$fileName,$is_local)
|
|
{
|
|
set_time_limit(0);
|
|
$objPHPExcel = new \PHPExcel();
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('A1', '用户昵称'); //created_at_cn
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('B1', '用户手机号'); //order_no
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('C1', '充值金额'); //order_no
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('D1', '状态'); //supplier_name
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('E1', '下单日期'); //supplier_name
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('F1', '支付日期'); //supplier_name
|
|
//设置第一行的背景颜色
|
|
$objPHPExcel->getActiveSheet()
|
|
->getStyle('A1:F1')
|
|
->getFill()
|
|
->setFillType(\PHPExcel_Style_Fill::FILL_SOLID)
|
|
->getStartColor()
|
|
->setRGB('FFFF00');
|
|
|
|
$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(25);
|
|
$objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(20);
|
|
$objPHPExcel->getActiveSheet()->getColumnDimension('E')->setWidth(20);
|
|
$objPHPExcel->getActiveSheet()->getColumnDimension('F')->setWidth(20);
|
|
|
|
$i = 2;
|
|
foreach($data as $key => $val){
|
|
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('A'.$i, $data[$key]['nickname']);
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('B'.$i, $data[$key]['mobile_phone']);
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('C'.$i, $data[$key]['pay_price']);
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('D'.$i, $data[$key]['is_pay_cn']);
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('E'.$i, $data[$key]['created_at_cn']);
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('F'.$i, $data[$key]['pay_time_cn']);
|
|
|
|
$i++;
|
|
}
|
|
$objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
|
|
if(!$is_local){
|
|
ob_clean();
|
|
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
|
|
header('Content-Disposition: attachment;filename="' . $fileName . '.xlsx');
|
|
header('Cache-Control: max-age=1');
|
|
$objWriter->save('php://output');
|
|
exit;
|
|
}else{
|
|
$y_m = date('Y-m',time());
|
|
$file_dir = "Excel/saleroom/{$y_m}";
|
|
if(!file_exists($file_dir)){
|
|
self::mkDir($file_dir);
|
|
}
|
|
$objWriter->save ( "{$file_dir}/{$fileName}.xls" );
|
|
exit();
|
|
}
|
|
}
|
|
|
|
|
|
public static function search_export($data,$fileName,$is_local)
|
|
{
|
|
set_time_limit(0);
|
|
$objPHPExcel = new \PHPExcel();
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('A1', '用户昵称'); //created_at_cn
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('B1', '用户手机号'); //order_no
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('C1', '类型'); //order_no
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('D1', '金额'); //supplier_name
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('E1', '描述'); //supplier_name
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('F1', '订单类型'); //supplier_name
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('G1', '订单号'); //supplier_name
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('H1', '添加时间'); //supplier_name
|
|
//设置第一行的背景颜色
|
|
$objPHPExcel->getActiveSheet()
|
|
->getStyle('A1:H1')
|
|
->getFill()
|
|
->setFillType(\PHPExcel_Style_Fill::FILL_SOLID)
|
|
->getStartColor()
|
|
->setRGB('FFFF00');
|
|
|
|
$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(25);
|
|
$objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(20);
|
|
$objPHPExcel->getActiveSheet()->getColumnDimension('E')->setWidth(40);
|
|
$objPHPExcel->getActiveSheet()->getColumnDimension('F')->setWidth(10);
|
|
$objPHPExcel->getActiveSheet()->getColumnDimension('G')->setWidth(35);
|
|
$objPHPExcel->getActiveSheet()->getColumnDimension('H')->setWidth(10);
|
|
|
|
$i = 2;
|
|
foreach($data as $key => $val){
|
|
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('A'.$i, $data[$key]['nickname']);
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('B'.$i, $data[$key]['mobile_phone']);
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('C'.$i, $data[$key]['type_cn']);
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('D'.$i, $data[$key]['money']);
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('E'.$i, $data[$key]['desc']);
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('F'.$i, $data[$key]['order_type_cn']);
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('G'.$i, $data[$key]['order_no']);
|
|
$objPHPExcel->getActiveSheet()->SetCellValue('H'.$i, $data[$key]['created_at_cn']);
|
|
|
|
$i++;
|
|
}
|
|
$objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
|
|
if(!$is_local){
|
|
ob_clean();
|
|
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
|
|
header('Content-Disposition: attachment;filename="' . $fileName . '.xlsx');
|
|
header('Cache-Control: max-age=1');
|
|
$objWriter->save('php://output');
|
|
exit;
|
|
}else{
|
|
$y_m = date('Y-m',time());
|
|
$file_dir = "Excel/saleroom/{$y_m}";
|
|
if(!file_exists($file_dir)){
|
|
self::mkDir($file_dir);
|
|
}
|
|
$objWriter->save ( "{$file_dir}/{$fileName}.xls" );
|
|
exit();
|
|
}
|
|
}
|
|
|
|
}
|
|
|