PHP使用PhpSpreadsheet读取Excel多个工作薄
2023-6-21 22:44:9 Author: www.uedbox.com(查看原文) 阅读量:12 收藏

PHP使用PhpSpreadsheet可以很方便读取Excel文件,包括多个工作薄的Excel.

安装依赖

composer require phpoffice/phpspreadsheet

使用

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

use PhpOffice\PhpSpreadsheet\IOFactory;

$path = ROOT_PATH . '/public/test.xlsx';

$reader = IOFactory::createReader('Xlsx'); // 创建读操作

$excel = $reader->load($path); // 载入excel表格

$sheets = $excel->getAllSheets();

$sheets_count = count($sheets);

echo "共 {$sheets_count} 个工作薄 \n";

foreach ($sheets as $sheet_idx=>$sheet){

    $sheet_idx1 = $sheet_idx + 1;

    $rows_count = $sheet->getHighestRow();

    echo "工作薄 {$sheet_idx1} 共 {$rows_count} 行 \n";

    for ($i = 2; $i <= $rows_count; $i++){

        $account = $sheet->getCell("G{$i}")->getValue();

        $num = $sheet->getCell("I{$i}")->getValue();

        $rate = $sheet->getCell("J{$i}")->getValue();

        echo "工作薄 {$sheet_idx1} {$account} {$num} {$rate} \n";

    }

}

这个示例是循环每个工作薄,获取所有行特定列的值。

其它用法

//设置活跃的工作薄,下标从0开始

$excel->setActiveSheetIndex(0);

//获取活跃的工作薄

$sheet = $spreadsheet->getActiveSheet();

//获取第2列第3行单元格的值

$value = $sheet->getCellByColumnAndRow(2, 3)->getValue();

//等价于

$value = $sheet->getCell("B3")->getValue();

更多用法:https://www.cnblogs.com/makalochen/p/13385758.html


文章来源: https://www.uedbox.com/post/69054/
如有侵权请联系:admin#unsafe.sh