首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在PhpSpreadsheet中读取多个文件

在PhpSpreadsheet中,可以使用PhpOffice\PhpSpreadsheet\IOFactory类的load()方法来读取多个文件。该方法接受一个文件路径数组作为参数,可以将多个文件加载到同一个工作簿中。

下面是一个示例代码:

代码语言:txt
复制
use PhpOffice\PhpSpreadsheet\IOFactory;

// 文件路径数组
$files = [
    'path/to/file1.xlsx',
    'path/to/file2.xlsx',
    'path/to/file3.xlsx'
];

// 创建一个新的工作簿
$spreadsheet = new \PhpOffice\PhpSpreadsheet\Spreadsheet();

// 循环遍历文件路径数组,逐个读取文件并合并到工作簿中
foreach ($files as $file) {
    $reader = IOFactory::createReaderForFile($file);
    $reader->setReadDataOnly(true);
    $worksheet = $reader->load($file);
    $spreadsheet->addSheet($worksheet->getActiveSheet());
}

// 设置活动表单为第一个工作表
$spreadsheet->setActiveSheetIndex(0);

// 获取合并后的工作簿的数据
$data = $spreadsheet->getActiveSheet()->toArray(null, true, true, true);

// 打印数据
foreach ($data as $row) {
    foreach ($row as $cell) {
        echo $cell . "\t";
    }
    echo "\n";
}

在上述示例代码中,我们首先创建了一个新的工作簿对象 $spreadsheet。然后使用 IOFactory::createReaderForFile() 方法根据文件路径创建一个读取器对象 $reader,并设置 setReadDataOnly(true) 以只读取数据而不包括格式和公式。

接下来,我们使用 load() 方法逐个读取文件并将其加载到工作簿中,使用 addSheet() 方法将每个文件的工作表添加到工作簿中。

最后,我们使用 $spreadsheet->getActiveSheet()->toArray() 方法获取合并后的工作簿的数据,并使用 foreach 循环将数据打印出来。

请注意,上述示例中并未提及腾讯云相关产品,如有需要请参考腾讯云文档或咨询腾讯云官方支持。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

9分15秒

ES6/28.尚硅谷_ES6-Promise实践练习-多个文件内容读取

6分22秒

17-在idea中能够创建mybatis核心配置文件和映射文件的模板

4分31秒

52.在MyBatis配置文件中全局配置AddressTypeHandler.avi

34分48秒

104-MySQL目录结构与表在文件系统中的表示

3分41秒

21_尚硅谷_MyBatis_在idea中设置映射文件的模板

13分7秒

20_尚硅谷_MyBatis_在idea中设置核心配置文件的模板

8分37秒

JDBC教程-10-从属性资源文件中读取连接数据库信息【动力节点】

12分27秒

day14【前台】用户登录注册/13-尚硅谷-尚筹网-会员注册-点击按钮发送短信-后端代码-在配置文件中管理参数

5分53秒

Elastic 5分钟教程:使用跨集群搜索解决数据异地问题

7分1秒

Split端口详解

2分29秒

MySQL系列七之任务1【导入SQL文件,生成表格数据】

1分34秒

手把手教你利用Python轻松拆分Excel为多个CSV文件

领券