Passed
Push — master ( 320ec0...14435c )
by ma
03:21
created
example/export.php 1 patch
Spacing   +16 added lines, -16 removed lines patch added patch discarded remove patch
@@ -32,11 +32,11 @@  discard block
 block discarded – undo
32 32
         'create_time'=>'1687140376',
33 33
         'image'=>[
34 34
             'type'=>'image',
35
-            'content'=>'http://static.majiameng.com/main/img/portrait.jpg',//网络图片确保存在
35
+            'content'=>'http://static.majiameng.com/main/img/portrait.jpg', //网络图片确保存在
36 36
             'height'=>100,
37 37
 //            'width'=>100,//只设置高,宽会自适应,如果设置宽后,高则失效
38 38
         ],
39
-    ],[
39
+    ], [
40 40
         'id'=>'2',
41 41
         'order_sn'=>'20190101465464',
42 42
         'user_id'=>'1000',
@@ -44,16 +44,16 @@  discard block
 block discarded – undo
44 44
         'create_time'=>'1687140376',
45 45
         'image'=>[
46 46
             'type'=>'image',
47
-            'content'=>'./text.png',//本地图片确保存在
47
+            'content'=>'./text.png', //本地图片确保存在
48 48
             'height'=>100,
49 49
         ],
50
-    ],[
50
+    ], [
51 51
         'id'=>'3',
52 52
         'order_sn'=>'20200101465464',
53 53
         'user_id'=>'1000',
54 54
         'day'=>'20220101',
55 55
         'create_time'=>'1687140376',
56
-    ],[
56
+    ], [
57 57
         'id'=>'4',
58 58
         'order_sn'=>'20210101465464',
59 59
         'user_id'=>'1001',
@@ -63,12 +63,12 @@  discard block
 block discarded – undo
63 63
 ];
64 64
 $TSpreadSheet = TSpreadSheet::export()
65 65
     //创建一个sheet,设置sheet表头,并给表格赋值
66
-    ->createWorkSheet($sheetName)->setWorkSheetData($title,$data);
66
+    ->createWorkSheet($sheetName)->setWorkSheetData($title, $data);
67 67
 //    ->createWorkSheet($sheetName1)->setWorkSheetData($title1,$data1);//如果多个sheet可多次创建
68 68
 
69 69
 //文件存储本地
70 70
 $path = $TSpreadSheet->generate()->save($filename);
71
-echo '生成excel路径:'.$path;exit();
71
+echo '生成excel路径:'.$path; exit();
72 72
 //生成excel路径:E:\spreadsheet-php\example\public\export\20240402\export_demo_2024-04-02_351.xlsx
73 73
 
74 74
 //这样直接输出到浏览器中下载
@@ -76,15 +76,15 @@  discard block
 block discarded – undo
76 76
 
77 77
 //配置参数可以通过配置文件在初始化时传入
78 78
 $config = [
79
-    'pathName'=>null,                       //文件存储位置
80
-    'fileName'=>null,                       //文件名称
81
-    'horizontalCenter'=>true,               //是否居中
82
-    'titleHeight'=>null,                    //定义表头行高,常用22
83
-    'titleWidth'=>null,                     //定义表头列宽(未设置则自动计算宽度),常用20
84
-    'height'=>null,                         //定义数据行高,常用22
85
-    'autoFilter'=>false,                    //自动筛选(是否开启)
86
-    'autoDataType'=>true,                   //自动适应文本类型
87
-    'freezePane'=>false,                    //冻结窗格(要冻结的首行首列"B2",false不开启)
79
+    'pathName'=>null, //文件存储位置
80
+    'fileName'=>null, //文件名称
81
+    'horizontalCenter'=>true, //是否居中
82
+    'titleHeight'=>null, //定义表头行高,常用22
83
+    'titleWidth'=>null, //定义表头列宽(未设置则自动计算宽度),常用20
84
+    'height'=>null, //定义数据行高,常用22
85
+    'autoFilter'=>false, //自动筛选(是否开启)
86
+    'autoDataType'=>true, //自动适应文本类型
87
+    'freezePane'=>false, //冻结窗格(要冻结的首行首列"B2",false不开启)
88 88
 ];
89 89
 $TSpreadSheet = TSpreadSheet::export($config);
90 90
 //配置参数也可以后期赋值
Please login to merge, or discard this patch.
example/import.php 1 patch
Spacing   +3 added lines, -3 removed lines patch added patch discarded remove patch
@@ -24,14 +24,14 @@
 block discarded – undo
24 24
 //    ->initWorkSheet($filename);//读取并初始化表格内容数据
25 25
 
26 26
 //2. 读取带图片并初始化表格内容数据
27
-$path = './uploads/imgs/'.date('Ymd', time());//excel中图片本地存储路径
27
+$path = './uploads/imgs/'.date('Ymd', time()); //excel中图片本地存储路径
28 28
 $TSpreadSheet = TSpreadSheet::import()
29 29
     ->initWorkSheet($filename)//读取并初始化表格内容数据
30
-    ->setRelativePath($path)->setImagePath($path);// 设置将excel中图片本地存储
30
+    ->setRelativePath($path)->setImagePath($path); // 设置将excel中图片本地存储
31 31
 
32 32
 //3. 设置title对应字段,获取表格内容
33 33
 $data = $TSpreadSheet->setTitle($title)->getExcelData();
34
-var_dump($data);die;
34
+var_dump($data); die;
35 35
 /**
36 36
  * array(3) {
37 37
  * [0]=>
Please login to merge, or discard this patch.
src/Excel/SpreadSheet.php 1 patch
Spacing   +27 added lines, -27 removed lines patch added patch discarded remove patch
@@ -12,7 +12,7 @@  discard block
 block discarded – undo
12 12
 use PhpOffice\PhpSpreadsheet\Worksheet\Drawing;
13 13
 use tinymeng\tools\FileTool;
14 14
 
15
-trait SpreadSheet{
15
+trait SpreadSheet {
16 16
 
17 17
     /**
18 18
      * sheet名称
@@ -29,7 +29,7 @@  discard block
 block discarded – undo
29 29
      * 文件信息
30 30
      * @var array
31 31
      */
32
-    private $fileTitle=[];
32
+    private $fileTitle = [];
33 33
 
34 34
     /**
35 35
      * 标题占用行数
@@ -90,7 +90,7 @@  discard block
 block discarded – undo
90 90
      */
91 91
     public $image_path = '/images';
92 92
 
93
-    public function setTitle($title){
93
+    public function setTitle($title) {
94 94
         $this->title = $title;
95 95
         $this->getTitleFields();
96 96
         return $this;
@@ -100,7 +100,7 @@  discard block
 block discarded – undo
100 100
      * @param $value
101 101
      * @return $this
102 102
      */
103
-    public function setRelativePath($value){
103
+    public function setRelativePath($value) {
104 104
         $this->relative_path = $value;
105 105
         return $this;
106 106
     }
@@ -109,7 +109,7 @@  discard block
 block discarded – undo
109 109
      * @param $value
110 110
      * @return $this
111 111
      */
112
-    public function setImagePath($value){
112
+    public function setImagePath($value) {
113 113
         $this->image_path = $value;
114 114
         return $this;
115 115
     }
@@ -121,40 +121,40 @@  discard block
 block discarded – undo
121 121
      * @author: Tinymeng <[email protected]>
122 122
      * @time: 2022/2/22 11:30
123 123
      */
124
-    public function getExcelData(){
124
+    public function getExcelData() {
125 125
         /* 循环读取每个单元格的数据 */
126 126
         $result = [];
127
-        $dataRow = $this->titleFieldsRow+1;
127
+        $dataRow = $this->titleFieldsRow + 1;
128 128
 
129 129
         //行数循环
130
-        for ($row = $dataRow; $row <= $this->rowCount; $row++){
131
-            $rowFlog = false;//行是否有内容(过滤空行)
130
+        for ($row = $dataRow; $row <= $this->rowCount; $row++) {
131
+            $rowFlog = false; //行是否有内容(过滤空行)
132 132
             //列数循环 , 列数是以A列开始
133 133
             $data = [];
134
-            foreach ($this->cellName as $column){
134
+            foreach ($this->cellName as $column) {
135 135
                 $cell = $this->workSheet->getCell($column.$row);
136 136
                 $value = trim($cell->getFormattedValue());
137
-                if(isset($this->title_fields[$column])){
137
+                if (isset($this->title_fields[$column])) {
138 138
                     $data[$this->title_fields[$column]] = $value;
139
-                    if(!empty($value)) $rowFlog = true;//有内容
139
+                    if (!empty($value)) $rowFlog = true; //有内容
140 140
                 }
141 141
             }
142
-            if($rowFlog) $result[] = $data;
142
+            if ($rowFlog) $result[] = $data;
143 143
         }
144 144
 
145 145
         /*
146 146
          * 读取表格图片数据
147 147
          * (如果为空右击图片转为浮动图片)
148 148
          */
149
-        $image_filename_prefix = time().rand(100,999).$this->sheet;
149
+        $image_filename_prefix = time().rand(100, 999).$this->sheet;
150 150
         foreach ($this->workSheet->getDrawingCollection() as $drawing) {
151 151
             /**@var $drawing Drawing* */
152 152
             list($column, $row) = Coordinate::coordinateFromString($drawing->getCoordinates());
153
-            $image_filename = "/{$image_filename_prefix}-" . $drawing->getCoordinates();
153
+            $image_filename = "/{$image_filename_prefix}-".$drawing->getCoordinates();
154 154
             $image_suffix = $this->saveImage($drawing, $image_filename);
155
-            $image_name = ltrim($this->relative_path, '/') . "{$image_filename}.{$image_suffix}";
156
-            if(isset($this->title_fields[$column])) {
157
-                $result[$row-($this->titleFieldsRow+1)][$this->title_fields[$column]] = $image_name;
155
+            $image_name = ltrim($this->relative_path, '/')."{$image_filename}.{$image_suffix}";
156
+            if (isset($this->title_fields[$column])) {
157
+                $result[$row - ($this->titleFieldsRow + 1)][$this->title_fields[$column]] = $image_name;
158 158
             }
159 159
         }
160 160
         return $result;
@@ -166,7 +166,7 @@  discard block
 block discarded – undo
166 166
      * @author: Tinymeng <[email protected]>
167 167
      * @time: 2022/2/22 11:30
168 168
      */
169
-    public function getTitle(){
169
+    public function getTitle() {
170 170
         return $this->title;
171 171
     }
172 172
 
@@ -176,21 +176,21 @@  discard block
 block discarded – undo
176 176
      * @author: Tinymeng <[email protected]>
177 177
      * @time: 2022/2/22 11:30
178 178
      */
179
-    public function getTitleFields(){
179
+    public function getTitleFields() {
180 180
         $title = $this->getTitle();
181 181
 
182 182
         $row = $this->titleFieldsRow;
183 183
         $titleDataArr = [];
184 184
 
185
-        foreach ($this->cellName as $column){
185
+        foreach ($this->cellName as $column) {
186 186
             $value = trim($this->workSheet->getCell($column.$row)->getValue());
187
-            if(!empty($value)){
187
+            if (!empty($value)) {
188 188
                 $titleDataArr[$value] = $column;
189 189
             }
190 190
         }
191 191
         $title_fields = [];
192 192
         foreach ($title as $key=>$value) {
193
-            if(isset($titleDataArr[$key])){
193
+            if (isset($titleDataArr[$key])) {
194 194
                 $title_fields[$titleDataArr[$key]] = $value;
195 195
             }
196 196
         }
@@ -208,23 +208,23 @@  discard block
 block discarded – undo
208 208
     protected function saveImage(Drawing $drawing, $image_filename)
209 209
     {
210 210
         FileTool::mkdir($this->image_path);
211
-        $image_filename .= '.' . $drawing->getExtension();
211
+        $image_filename .= '.'.$drawing->getExtension();
212 212
         switch ($drawing->getExtension()) {
213 213
             case 'jpg':
214 214
             case 'jpeg':
215 215
                 $source = imagecreatefromjpeg($drawing->getPath());
216
-                imagejpeg($source, $this->image_path . $image_filename);
216
+                imagejpeg($source, $this->image_path.$image_filename);
217 217
                 break;
218 218
             case 'gif':
219 219
                 $source = imagecreatefromgif($drawing->getPath());
220
-                imagegif($source, $this->image_path . $image_filename);
220
+                imagegif($source, $this->image_path.$image_filename);
221 221
                 break;
222 222
             case 'png':
223 223
                 $source = imagecreatefrompng($drawing->getPath());
224 224
                 // 保持透明度设置
225 225
                 imagealphablending($source, false);
226 226
                 imagesavealpha($source, true);
227
-                imagepng($source, $this->image_path . $image_filename);
227
+                imagepng($source, $this->image_path.$image_filename);
228 228
                 break;
229 229
             default:
230 230
                 throw new Exception('image format error!');
Please login to merge, or discard this patch.