Passed
Push — master ( 49ec85...39dc7c )
by ma
02:04
created
src/Gateways/Import.php 1 patch
Spacing   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -30,9 +30,9 @@
 block discarded – undo
30 30
      * @return $this
31 31
      * @throws Exception
32 32
      */
33
-    public function initWorkSheet($filename='')
33
+    public function initWorkSheet($filename = '')
34 34
     {
35
-        if(!empty($filename)){
35
+        if (!empty($filename)) {
36 36
             $this->setFileName($filename);
37 37
         }
38 38
         $this->spreadSheet = IOFactory::load($this->fileName);
Please login to merge, or discard this patch.
src/Connector/Gateway.php 1 patch
Spacing   +10 added lines, -10 removed lines patch added patch discarded remove patch
@@ -43,8 +43,8 @@  discard block
 block discarded – undo
43 43
      * @author: Tinymeng <[email protected]>
44 44
      * @time: 2022/4/24 17:35
45 45
      */
46
-    protected function cellName($columnIndex){
47
-        $columnIndex =(int)$columnIndex+1;
46
+    protected function cellName($columnIndex) {
47
+        $columnIndex = (int) $columnIndex + 1;
48 48
         static $indexCache = [];
49 49
 
50 50
         if (!isset($indexCache[$columnIndex])) {
@@ -53,7 +53,7 @@  discard block
 block discarded – undo
53 53
             do {
54 54
                 $characterValue = ($indexValue % 26) ?: 26;
55 55
                 $indexValue = ($indexValue - $characterValue) / 26;
56
-                $base26 = chr($characterValue + 64) . ($base26 ?: '');
56
+                $base26 = chr($characterValue + 64).($base26 ?: '');
57 57
             } while ($indexValue > 0);
58 58
             $indexCache[$columnIndex] = $base26;
59 59
         }
@@ -66,10 +66,10 @@  discard block
 block discarded – undo
66 66
      * @param string
67 67
      * @return mixed
68 68
      */
69
-    protected function formatValue($v){
70
-        if($this->format === false) return $v;
71
-        if(is_numeric($v) && strlen($v)===10){
72
-            $v = date($this->format_date,$v);//时间戳转时间格式
69
+    protected function formatValue($v) {
70
+        if ($this->format === false) return $v;
71
+        if (is_numeric($v) && strlen($v) === 10) {
72
+            $v = date($this->format_date, $v); //时间戳转时间格式
73 73
         }
74 74
         return $v;
75 75
     }
@@ -79,9 +79,9 @@  discard block
 block discarded – undo
79 79
      * @param $lastCell
80 80
      * @return array
81 81
      */
82
-    protected function getCellName($lastCell){
82
+    protected function getCellName($lastCell) {
83 83
         $cellName = array();
84
-        for($i='A'; $i!=$lastCell; $i++) {
84
+        for ($i = 'A'; $i != $lastCell; $i++) {
85 85
             $cellName[] = $i;
86 86
         }
87 87
         $cellName[] = $i++;
@@ -95,7 +95,7 @@  discard block
 block discarded – undo
95 95
      * @return array|string|string[]
96 96
      * @throws PhpSpreadsheetException
97 97
      */
98
-    protected function verifyFile($path, $verifyFile = true, $zip = null){
98
+    protected function verifyFile($path, $verifyFile = true, $zip = null) {
99 99
         if ($verifyFile && preg_match('~^data:image/[a-z]+;base64,~', $path) !== 1) {
100 100
             // Check if a URL has been passed. https://stackoverflow.com/a/2058596/1252979
101 101
             if (filter_var($path, FILTER_VALIDATE_URL)) {
Please login to merge, or discard this patch.
src/Util/TConfig.php 1 patch
Spacing   +4 added lines, -4 removed lines patch added patch discarded remove patch
@@ -7,7 +7,7 @@  discard block
 block discarded – undo
7 7
  */
8 8
 namespace tinymeng\spreadsheet\Util;
9 9
 
10
-trait TConfig{
10
+trait TConfig {
11 11
 
12 12
     /**
13 13
      * 文件创建者
@@ -244,13 +244,13 @@  discard block
 block discarded – undo
244 244
      */
245 245
     private function getPathName($pathName)
246 246
     {
247
-        if(!empty($pathName)){
247
+        if (!empty($pathName)) {
248 248
             return $pathName;
249 249
         }
250
-        if($this->pathName){
250
+        if ($this->pathName) {
251 251
             return $this->pathName;
252 252
         }
253
-        $pathName = dirname( dirname(dirname(SPREADSHEET_ROOT_PATH))).DIRECTORY_SEPARATOR."public".DIRECTORY_SEPARATOR."export".DIRECTORY_SEPARATOR.date('Ymd').DIRECTORY_SEPARATOR;
253
+        $pathName = dirname(dirname(dirname(SPREADSHEET_ROOT_PATH))).DIRECTORY_SEPARATOR."public".DIRECTORY_SEPARATOR."export".DIRECTORY_SEPARATOR.date('Ymd').DIRECTORY_SEPARATOR;
254 254
         return $pathName;
255 255
     }
256 256
 
Please login to merge, or discard this patch.
src/TSpreadSheet.php 1 patch
Spacing   +4 added lines, -4 removed lines patch added patch discarded remove patch
@@ -28,17 +28,17 @@  discard block
 block discarded – undo
28 28
      * @return mixed
29 29
      * @throws \Exception
30 30
      */
31
-    protected static function init($gateway, $config=[])
31
+    protected static function init($gateway, $config = [])
32 32
     {
33 33
         $gateway = StringTool::uFirst($gateway);
34
-        $class = __NAMESPACE__ . '\\Gateways\\' . $gateway;
34
+        $class = __NAMESPACE__.'\\Gateways\\'.$gateway;
35 35
         if (class_exists($class)) {
36 36
             $configFile = SPREADSHEET_ROOT_PATH."/config/TSpreadSheet.php";
37 37
             if (!file_exists($configFile)) {
38 38
                 return false;
39 39
             }
40 40
             $baseConfig = require $configFile;
41
-            $app = new $class(array_replace_recursive($baseConfig,$config));
41
+            $app = new $class(array_replace_recursive($baseConfig, $config));
42 42
             if ($app instanceof GatewayInterface) {
43 43
                 return $app;
44 44
             }
@@ -55,7 +55,7 @@  discard block
 block discarded – undo
55 55
      * @param $config
56 56
      * @return mixed
57 57
      */
58
-    public static function __callStatic($gateway, $config=[])
58
+    public static function __callStatic($gateway, $config = [])
59 59
     {
60 60
         return self::init($gateway, ...$config);
61 61
     }
Please login to merge, or discard this patch.
tests/ExportTest.php 1 patch
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -26,7 +26,7 @@
 block discarded – undo
26 26
 
27 27
     public function testSaveFile()
28 28
     {
29
-        $pathName = __DIR__ . '/tmp/';
29
+        $pathName = __DIR__.'/tmp/';
30 30
         $fileName = $this->export->save('TestSheet', $pathName);
31 31
         $this->assertTrue(file_exists($fileName));
32 32
         unlink($fileName);
Please login to merge, or discard this patch.
src/Util/ConstCode.php 1 patch
Spacing   +3 added lines, -3 removed lines patch added patch discarded remove patch
@@ -7,7 +7,7 @@
 block discarded – undo
7 7
  */
8 8
 namespace tinymeng\spreadsheet\Util;
9 9
 
10
-class ConstCode{
11
-    const FIELD_MAPPING_METHOD_FIELD_CORRESPONDING_NAME = 1;//字段对应名称
12
-    const FIELD_MAPPING_METHOD_NAME_CORRESPONDING_FIELD = 2;//名称对应字段
10
+class ConstCode {
11
+    const FIELD_MAPPING_METHOD_FIELD_CORRESPONDING_NAME = 1; //字段对应名称
12
+    const FIELD_MAPPING_METHOD_NAME_CORRESPONDING_FIELD = 2; //名称对应字段
13 13
 }
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.
example/export.php 1 patch
Spacing   +17 added lines, -17 removed lines patch added patch discarded remove patch
@@ -45,11 +45,11 @@  discard block
 block discarded – undo
45 45
         'create_time'=>'1687140376',
46 46
         'image'=>[
47 47
             'type'=>'image',
48
-            'content'=>'http://static.majiameng.com/main/img/portrait.jpg',//网络图片确保存在
48
+            'content'=>'http://static.majiameng.com/main/img/portrait.jpg', //网络图片确保存在
49 49
             'height'=>100,
50 50
 //            'width'=>100,//只设置高,宽会自适应,如果设置宽后,高则失效
51 51
         ],
52
-    ],[
52
+    ], [
53 53
         'id'=>'2',
54 54
         'order_sn'=>'20190101465464',
55 55
         'user_id'=>'1000',
@@ -57,16 +57,16 @@  discard block
 block discarded – undo
57 57
         'create_time'=>'1687140376',
58 58
         'image'=>[
59 59
             'type'=>'image',
60
-            'content'=>'./text.png',//本地图片确保存在
60
+            'content'=>'./text.png', //本地图片确保存在
61 61
             'height'=>100,
62 62
         ],
63
-    ],[
63
+    ], [
64 64
         'id'=>'3',
65 65
         'order_sn'=>'20200101465464',
66 66
         'user_id'=>'1000',
67 67
         'day'=>'20220101',
68 68
         'create_time'=>'1687140376',
69
-    ],[
69
+    ], [
70 70
         'id'=>'4',
71 71
         'order_sn'=>'20210101465464',
72 72
         'user_id'=>'1001',
@@ -76,12 +76,12 @@  discard block
 block discarded – undo
76 76
 ];
77 77
 $TSpreadSheet = TSpreadSheet::export()
78 78
     //创建一个sheet,设置sheet表头,并给表格赋值
79
-    ->createWorkSheet($sheetName)->setWorkSheetData($title,$data);
79
+    ->createWorkSheet($sheetName)->setWorkSheetData($title, $data);
80 80
 //    ->createWorkSheet($sheetName1)->setWorkSheetData($title1,$data1);//如果多个sheet可多次创建
81 81
 
82 82
 //文件存储本地
83 83
 $path = $TSpreadSheet->generate()->save($filename);
84
-echo '生成excel路径:'.$path;exit();
84
+echo '生成excel路径:'.$path; exit();
85 85
 //生成excel路径:E:\spreadsheet-php\example\public\export\20240402\export_demo_2024-04-02_351.xlsx
86 86
 
87 87
 //这样直接输出到浏览器中下载
@@ -89,16 +89,16 @@  discard block
 block discarded – undo
89 89
 
90 90
 //配置参数可以通过配置文件在初始化时传入
91 91
 $config = [
92
-    'pathName'=>null,                       //文件存储位置
93
-    'fileName'=>null,                       //文件名称
94
-    'horizontalCenter'=>true,               //是否居中
95
-    'titleHeight'=>null,                    //定义表头行高,常用22
96
-    'titleWidth'=>null,                     //定义表头列宽(未设置则自动计算宽度),常用20
97
-    'height'=>null,                         //定义数据行高,常用22
98
-    'autoFilter'=>false,                    //自动筛选(是否开启)
99
-    'autoDataType'=>true,                   //自动适应文本类型
100
-    'freezePane'=>false,                    //冻结窗格(要冻结的首行首列"B2",false不开启)
101
-    'fieldMappingMethod'=>ConstCode::FIELD_MAPPING_METHOD_NAME_CORRESPONDING_FIELD,//字段映射方式
92
+    'pathName'=>null, //文件存储位置
93
+    'fileName'=>null, //文件名称
94
+    'horizontalCenter'=>true, //是否居中
95
+    'titleHeight'=>null, //定义表头行高,常用22
96
+    'titleWidth'=>null, //定义表头列宽(未设置则自动计算宽度),常用20
97
+    'height'=>null, //定义数据行高,常用22
98
+    'autoFilter'=>false, //自动筛选(是否开启)
99
+    'autoDataType'=>true, //自动适应文本类型
100
+    'freezePane'=>false, //冻结窗格(要冻结的首行首列"B2",false不开启)
101
+    'fieldMappingMethod'=>ConstCode::FIELD_MAPPING_METHOD_NAME_CORRESPONDING_FIELD, //字段映射方式
102 102
 ];
103 103
 $TSpreadSheet = TSpreadSheet::export($config);
104 104
 //配置参数也可以后期赋值
Please login to merge, or discard this patch.