1. Go to this page and download the library: Download shijunjun/exim library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
shijunjun / exim example snippets
$callback = function($item){
return $item;
};
$export = new \shijunjun\exim\Export($callback);
$config = [
// 导出的文件存放位置
'path' => __DIR__.'/xls',
// 非必需,导出的文件名
'filename'=> date('YmdHis'),
// 设置表格sheet名称,默认sheet1
'sheetname'=> 'sheet1',
// 导出的字段
'columns'=>[
'id'=>'ID',
'band_id'=>'品牌ID',
'sku_uuid'=>'商品规格ID',
'category_id'=>'后端分类ID',
'create_at'=>'添加时间',
'goods_sku_code'=>'SKU编码',
'goods_uuid'=>'商品ID',
'img_url'=>'封面图片',
'invoice_ord'=>'普通发票', // 0 不支持 1 支持
'invoice_spe'=>'增值税专票',// 0 不支持 1 支持
'invoice_spe_ord'=>'增值税普票', // 0 不支持 1 支持
'is_default'=>'是否默认展示', // 1-是 2-否
'limit'=>'最大购买量',
'price_in'=>'进货价',
'sku_name'=>'商品规格名称',
'spec_name'=>'属性值拼接(,拼接)',
'special_code'=>'商品69码',
'status'=>'状态', // 1-正常 2-禁用 3-伪删除
'supplier_uuid'=>'供应商ID',
'update_at'=>'更新时间',
'volume'=>'体积',
'weight'=>'重量',
'zone'=>'专区', // 1会员专区 2购物券专区 3大众好货专区
],
// MySQL链接信息
'mysql'=>[
// 优先读取dsn,如果dsn不存在那么就查找host,dbname,port
'dsn'=>'mysql:host=localhost;dbname=test;port=3306'
'host'=>"192.168.56.190",'user'=>"root",'password'=>"MySQL123#","dbname"=>"tests"
],
// 执行sql
'sql' => "select
*,
(case `invoice_ord` when 0 then '不支持' else '支持' end) as `invoice_ord`,
(case `invoice_spe` when 0 then '不支持' else '支持' end) as `invoice_spe`,
(case `invoice_spe_ord` when 0 then '不支持' else '支持' end) as `invoice_spe_ord`,
(case `status` when 1 then '正常' when 2 then '禁用' else '删除' end) as `status`,
(case `zone` when 1 then '会员专区' when 2 then '购物券专区' else '大众好货专区' end) as `zone`
from goods_sku",
];
$out = $export->config($config)->setLimit(3000)->setMaxLine(100000)->openZip()->output();
// 等价于
$export->config($config); // 设置导出数据基本必需参数
$export->setLimit(3000); // 设置每次查询条数
$export->setMaxLine(100000); // 如果设置此项则会对导出文件进行分割,默认为0表示不分割,大于0表示分割并且每个excel文件的最大行数
$export->openZip(); // 开启压缩 boolean
$out = $export->output(); // 输出文件
// ----------------------------------------------------------
var_export($out);
array (
// excel文件列表
'files' => array (),
// 压缩后的文件全路径名称
'zip_name' => '/data/www/io/app/xls/20190924191710.zip',
// 执行时间
'time' => '262.03791904449秒',
// 占用内存
'memory' => '0.09M',
)