用了几个 Excel 导入导出工具,感觉还是不能实现我的读取并修改 Excel 的需求

用了Laravel-Excel 和 Box / Spout 后,发现好像只能单独的读取数据和写入一个新的xlsx文件。

那么我的需求是读取一个模板文件,然后把指定单元格替换我的数据,然后再另存为一个新的文件,这样Spout可以实现吗?

大神们求助下。

《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
pardon110
最佳答案

可以考虑以下包, 它支持创建电子表格, 工作表, 访问单元格以及 读取和写入文件

phpoffice/phpspreadsheet

简单点来讲,你是想导入已有的模板文件(读取),然后动修改(改变excel资源对象的某个位置cell的内容),示例代码如下

require 'vendor/autoload.php';

use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;

$spreadsheet = new Spreadsheet();
$sheet = $spreadsheet->getActiveSheet();
$sheet->setCellValue('A1', 'Hello World !');

$writer = new Xlsx($spreadsheet);
$writer->save('hello world.xlsx');
5年前 评论
qIXbwU11 (楼主) 5年前
qIXbwU11 (楼主) 5年前
讨论数量: 2

这不是石墨文档么

5年前 评论
pardon110

可以考虑以下包, 它支持创建电子表格, 工作表, 访问单元格以及 读取和写入文件

phpoffice/phpspreadsheet

简单点来讲,你是想导入已有的模板文件(读取),然后动修改(改变excel资源对象的某个位置cell的内容),示例代码如下

require 'vendor/autoload.php';

use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;

$spreadsheet = new Spreadsheet();
$sheet = $spreadsheet->getActiveSheet();
$sheet->setCellValue('A1', 'Hello World !');

$writer = new Xlsx($spreadsheet);
$writer->save('hello world.xlsx');
5年前 评论
qIXbwU11 (楼主) 5年前
qIXbwU11 (楼主) 5年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!