logo头像

科技始终来源于人性!

php-excel、phpspreadsheet的封装类

最近项目遇到了经常性使用表格导出,之前使用的是PHPExcel,但是已经不更新了。于是开始使用PHPspreadsheet,并且在空闲时间写了一个封装类。
如果有需要,可以在下载使用。遇到BUG问题,可以讨论完善。

1、composer 加载包

1
composer require shayvmo/php-excel

2、github 地址

地址:https://github.com/shayvmo/phpExcel

3、部分代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83

$excel = new \shayvmo\phpExcel([
'savePath'=>'D:\wamp64\www\phpExcel\Examples',//保存路径
'filename'=>'test_file'.time(),
'properties'=>[
'Creator'=>'Eric',//文件创建者
'LastModifiedBy'=>'Eric',//最后更新
'Title'=>'导出文档',//标题
'Subject'=>'导出文档',//主题
'Description'=>'php导出文档',//描述
'Keywords'=>'',//关键词
'Category'=>'',//分类
],
'worksheet'=>[
['Title'=>'sheet01']
],
'startCell'=>'A1',
'options'=>[
'print'=>true,//设置打印格式

'freezePane'=>[],//锁定行数,例如表头为第一行,则锁定表头输入A2

'setARGB'=>[
'A1'=>'FFFFFF00',
'F2'=>'FFFFFF00'
],//设置背景色

//设置宽度
'setWidth'=>[
'A'=>10,
'B'=>15,
'C'=>20
],

//设置单元格边框:位置,颜色
'setBorder'=>['A1:I3','000000'],

//设置合并单元格
'mergeCells'=>['A1:B1','B2:B3'],

'formula'=>[],//设置公式,例如['F2' => '=IF(D2>0,E42/D2,0)']

'format'=>['A'=>''],//设置格式,整列设置,例如['A' => 'General']

//设置居中样式
'alignment'=>[
// 'A1'=>['left','top'],//水平,垂直
// 'D1'=>['center','center'],//水平,垂直
// 'G1'=>['right','bottom'],//水平,垂直
// 'A1:I2'=>['center','center'],//水平,垂直
'A:I'=>['center','center'],//水平,垂直
],

'bold'=>['A1:I1','E2'],//设置加粗样式,例如['A1', 'A2']
],
'data'=>[
[
'A'=>'供应商',
'B'=>'商品名称',
'C'=>'系统编号',
'D'=>'条形码',
'E'=>'规格',
'F'=>'单位',
'G'=>'采购价采购价采购价采qwsdqwwe购价采购价2采购价采购价采购价',
'H'=>'零售价',
'I'=>'库存',
],
2=>[
'A'=>'1',
'B'=>'2',
'C'=>'3',
'D'=>'4',
'E'=>'5',
'F'=>'6',
'G'=>'7',
'H'=>'8.01',
'I'=>'9.03',
]
]
]);

$excel->exportExcel();