<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                #### 1、PhpSpreadsheet 是什么 PhpSpreadsheet由來: phpexcel 由于版本陳舊性能低下 官方放棄維護 轉而開發PhpSpreadsheet 用了最新得psr標準因而 `對php版本不向下兼容` 需要注意!。 PhpSpreadsheet是一個用純PHP編寫的庫,提供了一組類,使您可以讀取和寫入不同的電子表格文件格式 PhpSpreadsheet提供了豐富的API接口,可以設置諸多單元格以及文檔屬性,包括樣式、圖片、日期、函數等等諸多應用,總之你想要什么樣的Excel表格,PhpSpreadsheet都能做到 ``` 使用 PhpSpreadsheet 開發的PHP要求 7.1或更高版本` `PhpSpreadsheet 支持鏈式操作 ``` #### 2、PhpSpreadsheet 支持的文件格式 ![PhpSpreadsheet 支持文件格式](https://img-blog.csdnimg.cn/20200810154507283.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2phY2tib244,size_16,color_FFFFFF,t_70) ### 3、PhpSpreadsheet 安裝 `composer require phpoffice/phpspreadsheet` #### 4、 實例化Spreadsheet對象 ```php <?php namespace app // 給類文件的命名空間起個別名 use PhpOffice\PhpSpreadsheet\Spreadsheet; //Xlsx類 保存文件功能類 use PhpOffice\PhpSpreadsheet\Writer\Xlsx; // 實例化 Spreadsheet 對象 $spreadsheet = new Spreadsheet(); ``` #### 5、 Spreadsheet對象方法介紹 ```php <?php namespace app // 給類文件的命名空間起個別名 use PhpOffice\PhpSpreadsheet\Spreadsheet; // 實例化 Spreadsheet 對象 $spreadsheet = new Spreadsheet(); // 1獲取活動工作薄 $sheet = $spreadsheet->getActiveSheet(); // 2獲取單元格 $cell = $sheet->getCell('A1'); //方法1 $cell = $sheet->getCellByColumnAndRow(1,1); //方法2 // 3給單元格賦值 $cellA->setValue('A1單元格內容'); // 3-1獲取設置單元格,鏈式操作 $sheet->getCell('A3')->setValue('郭靖'); $sheet->getCellByColumnAndRow(1,4)->setValue('楊康'); // 3-2獲取單元格 $cellA = $sheet->getCell('A1'); echo '值: ', $cellA->getValue(),PHP_EOL; echo '坐標: ', $cellA->getCoordinate(); //獲取單元格坐標 // 4 Xlsx類 將電子表格保存到文件 $writer = new Xlsx($spreadsheet); $writer->save('1.xlsx'); // 單元格強化 /** * 參數說明 * 設置單元格 * setCellValue(參數1,參數2) * 參數1:單元格位置 * 參數2:單元格的值 * setCellValueByColumnAndRow(參數1,參數2,參數3) * 參數1:列位置 * 參數2:行位置 * 參數3:單元格的值 */ $sheet->setCellValue('A1','ID'); $sheet->setCellValue('B1','姓名'); $sheet->setCellValue('C1','年齡'); $sheet->setCellValue('D1','身高'); $sheet->setCellValueByColumnAndRow(1, 2, 1); $sheet->setCellValueByColumnAndRow(2, 2, '李雷'); $sheet->setCellValueByColumnAndRow(3, 2, '18歲'); $sheet->setCellValueByColumnAndRow(4, 2, '188cm'); $sheet->setCellValueByColumnAndRow(1, 3, 2); $sheet->setCellValueByColumnAndRow(2, 3, '韓梅梅'); $sheet->setCellValueByColumnAndRow(3, 3, '17歲'); $sheet->setCellValueByColumnAndRow(4, 3, '165cm'); / ** * 單元格文字樣式設置 */ // getStyle 獲取單元格樣式 // getFont 獲取單元格文字樣式 // setBold 設置文字粗細 // setName 設置文字字體 // setSize 設置文字大小 $sheet->getStyle('B2')->getFont()->setBold(true)->setName('宋體')->setSize(20); / ** * 單元格文字顏色 */ // getColor 獲取坐標顏色 // setRGB設置字體顏色 // getRGB 獲取字體顏色 // setARGB 設置字體顏色 // getARGB 獲取字體顏色 $sheet->getStyle('B2')->getFont()->getColor()->setRGB('#AEEEEE'); $sheet->getStyle('B3')->getFont()->getColor()->setARGB('FFFF0000'); / ** *單元格格式 */ $sheet->setCellValue('A1','2019-10-10 10:10:10'); $sheet->setCellValue('A2','2019-10-10 10:10:10'); $sheet->getStyle('A2')->getNumberFormat()->setFormatCode(\PhpOffice\PhpSpreadsheet\Style\NumberFormat::FORMAT_DATE_YYYYMMDD2); # Xlsx類 將電子表格保存到文件 use PhpOffice\PhpSpreadsheet\Writer\Xlsx; $writer = new Xlsx($spreadsheet); $writer->save('1.xlsx'); ``` Spreadsheet 支持excel 函數 公式使用 ```php <?php namespace app # 給類文件的命名空間起個別名 use PhpOffice\PhpSpreadsheet\Spreadsheet; # Xlsx類 將電子表格保存到文件 use PhpOffice\PhpSpreadsheet\Writer\Xlsx; # 實例化 Spreadsheet 對象 $spreadsheet = new Spreadsheet(); # 獲取活動工作薄 $sheet = $spreadsheet->getActiveSheet(); $sheet->setCellValue('A1','10'); $sheet->setCellValue('B1','15'); $sheet->setCellValue('C1','20'); $sheet->setCellValue('D1','25'); $sheet->setCellValue('E1','30'); $sheet->setCellValue('G1','35'); $sheet->setCellValue('A2', '總數:'); $sheet->setCellValue('B2', '=SUM(A1:G1)'); $sheet->setCellValue('A3', '平均數:'); $sheet->setCellValue('B3', '=AVERAGE(A1:G1)'); $sheet->setCellValue('A4', '最小數:'); $sheet->setCellValue('B4', '=MIN(A1:G1)'); $sheet->setCellValue('A5', '最大數:'); $sheet->setCellValue('B5', '=MAX(A1:G1)'); $sheet->setCellValue('A6', '最大數:'); $sheet->setCellValue('B6', '\=MAX(A1:G1)'); // 使用轉義字符 // 批量賦值 $sheet->setCellValue('A1','ID'); $sheet->setCellValue('B1','姓名'); $sheet->setCellValue('C1','年齡'); $sheet->setCellValue('D1','身高'); $sheet->fromArray( [ [1,'歐陽克','18歲','188cm'], [2,'黃蓉','17歲','165cm'], [3,'郭靖','21歲','180cm'] ], 3, 'A2' ); // 合并單元格 合并后,賦值只能給A1,開始的坐標。 $sheet->mergeCells('A1:B5'); $sheet->getCell('A1')->setValue('歐陽克'); # Xlsx類 將電子表格保存到文件 $writer = new Xlsx($spreadsheet); $writer->save('1.xlsx'); // 客戶端文件下載 header('Content-Type:application/vnd.ms-excel'); header('Content-Disposition:attachment;filename=1.xls'); header('Cache-Control:max-age=0'); $writer = \PhpOffice\PhpSpreadsheet\IOFactory::createWriter($spreadsheet, 'Xls'); $writer->save('php://output'); ``` ### 讀取表格文件 ```php <?php namespace app; # 創建讀操作 $reader = \PhpOffice\PhpSpreadsheet\IOFactory::createReader('Xlsx'); # 打開文件、載入excel表格 $spreadsheet = $reader->load('1.xlsx'); # 獲取活動工作薄 $sheet = $spreadsheet->getActiveSheet(); # 獲取 單元格值 和 坐標 $cellC1 = $sheet->getCell('B2'); echo '值: ', $cellC1->getValue(),PHP_EOL; echo '坐標: ', $cellC1->getCoordinate(),PHP_EOL; $sheet->setCellValue('B2','歐陽鋒'); # 獲取 單元格值 和 坐標 $cellC2 = $sheet->getCell('B2'); echo '值: ', $cellC2->getValue(),PHP_EOL; echo '坐標: ', $cellC2->getCoordinate(); ``` #### 導入功能 ```php <?php $file = $_FILES['file']['tmp_name']; # 載入composer自動加載文件 require 'vendor/autoload.php'; # 載入方法庫 require 'function.php'; # 創建讀操作 $reader = \PhpOffice\PhpSpreadsheet\IOFactory::createReader('Xlsx'); # 打開文件、載入excel表格 $spreadsheet = $reader->load($file); # 獲取活動工作薄 $sheet = $spreadsheet->getActiveSheet(); # 獲取總列數 $highestColumn = $sheet->getHighestColumn(); # 獲取總行數 $highestRow = $sheet->getHighestRow(); # 列數 改為數字顯示 $highestColumnIndex = \PhpOffice\PhpSpreadsheet\Cell\Coordinate::columnIndexFromString($highestColumn); $log = []; for($a=2;$a<$highestRow;$a++){ $title = $sheet->getCellByColumnAndRow(1,$a)->getValue(); $cat_fname = $sheet->getCellByColumnAndRow(2,$a)->getValue(); $cat_name = $sheet->getCellByColumnAndRow(3,$a)->getValue(); $price = $sheet->getCellByColumnAndRow(4,$a)->getValue(); $img = $sheet->getCellByColumnAndRow(5,$a)->getValue(); $cat_fid = find('shop_cat','id','name="'.$cat_fname.'"'); $cat_id = find('shop_cat','id','name="'.$cat_name.'"'); $data = [ 'title' => $title, 'cat_fid' => $cat_fid['id'], 'cat_id' => $cat_id['id'], 'price' => $price, 'img' => $img, 'add_time' => time(), ]; $ins = insert('shop_list',$data); if($ins){ $log[] = '第'.$a.'條,插入成功'; }else{ $log[] = '第'.$a.'條,插入失敗'; } } echo json_encode(['code'=>0,'msg'=>'成功','data'=>$log]); ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看