- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 Maatwebsite 3.1使用 Laravel 5.8。
我生成了一个包含价格列的电子表格,我想对其求和。为此,我有以下代码:
<?php
namespace App\Exports;
use Maatwebsite\Excel\Concerns\FromCollection;
use PhpOffice\PhpSpreadsheet\Worksheet\Worksheet;
use Maatwebsite\Excel\Concerns\WithStyles;
use \Illuminate\Support\Collection;
class MenuExport implements FromCollection, WithStyles
{
private $data;
function __construct($data) {
$this->data = $data;
}
public function styles(Worksheet $sheet)
{
$numOfRows = count($this->data);
$totalRow = $numOfRows + 1;
// Add cell with SUM formula to last row
$sheet->setCellValue("B{$totalRow}", "=SUM(B1:B{$numOfRows})");
}
public function collection()
{
// Add new row with Total cell
$extendedArr = [
$this->data,
['Total:']
];
return new Collection($extendedArr);
}
}
生成的excel其实是有SUM函数的,但是显示的是0。例如,我使用以下数据调用导出器:
$data = [
['Coffee', 1.8],
['Cake', 3.6],
['Toast', 2.5]
];
return Excel::download(new MenuExport($data), "menu.xlsx");
如果我剪切函数单元格内容然后粘贴它 - 我会得到想要的结果:
知道哪里出了问题吗?
最佳答案
其实比我想象的要简单。
我所要做的就是添加 WithPreCalculateFormulas
:
:
use Maatwebsite\Excel\Concerns\WithPreCalculateFormulas;
class MenuExport implements FromCollection, WithStyles, WithPreCalculateFormulas
{
来自 documentation :
Maatwebsite\Excel\Concerns\WithPreCalculateFormulas
Forces PhpSpreadsheet to recalculate all formulae in a workbook whensaving, so that the pre-calculated values are immediately available toMS Excel or other office spreadsheet viewer when opening the file.
关于php - Laravel Excel Maatwebsite - SUM 函数不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66351007/
在laravel-10项目中对EXCEL文件运行“Composer Required maatWebSite/EXCEL”,但显示“Package phpoffice/phpexel is reast
$file = $request->file('excel'); $reader = Excel::load($file->getRealPath())->get(); 出现如下错误: Call to
我正在使用 Laravel 5.4,我想将记录导出到 excel 文件,但出现此错误 传递给 Illuminate\Database\Eloquent\Builder::create() 的参数 1
我是 Laravel 的新手,但我正在使用 Laravel 的 Maatwebsite\Excel Library v3 导出 excel。但是我在导出数组数据时遇到了一些问题。 这是我的代码
如何在 laravel maatwebsite excel 包中更改工作表方向? 我想从左到右改变。 A B C D 至: D C B A 这是我的代码: $row = $this->user
我正在使用 laravel maatwebsite packag e 导出 excel 表。一列包含欧元货币,因此我正在尝试为数据创建一个货币列。 我的列代码: $sheet->setColu
PHP 版本:7.3.9 Laravel 版本:5.8.30 包版本:3.1 描述 我正在尝试导出 excel 文件。我做了文档中的所有事情,并且过程没有错误。但是 excel 文件没有下载。我使用的
我一直在使用Laravel Excel以 csv 格式导出数据,到目前为止效果很好。现在我需要以 xlsx 格式导出,以便可以在某些列中包含下拉列表。我看过this question但看起来那是针对旧
当我尝试在 Ubuntu 的服务器上使用 Maatwebsite 3.1 版本导入 excel 表时,出现此类错误。 Error: Maatwebsite \ Excel \ Exceptions \
我的 composer.json : ... "maatwebsite/excel": "^3.0", ... 我可以在本地主机上运行我的项目,但是当我在服务器上上传时,我收到
我正在尝试安装 maatwebsite/excel ;但是,我无法让它工作。 我尝试删除 composer.lock 文件并运行: composer install composer update 我
我将我的应用程序迁移到 laravel 5.7。在 composer.json 中安装包时,我从“maatwebsite/excel:~2.1.0”升级到“maatwebsite/excel”:“^3
我正在使用 Maatwebsite excel 将数据导出到 Excel。我正在使用 Laravel 框架。我的数组看起来像这样:- Array ( [0] => Array (
我只想获取 Excel 第一列,该列将作为列名称。 我正在使用此代码 Excel::load($request->file, function ($reader) use($request) { $t
我有 4 个 Excel 文件,每个文件包含 1000 行。我将其合并并使其为 4000,这样我可以节省一些时间。但是,如果我导入合并的文件,它会返回错误一般错误:1390 准备好的语句包含太多占位符
我不知道我做错了什么,或者这可能是正常的。我必须加载并“读取”大约 12000 行的 excell。我为此使用了这段代码。 Excel::selectSheetsByIndex(0)->load($p
我正在使用 Maatwebsite 3.1使用 Laravel 5.8。 我生成了一个包含价格列的电子表格,我想对其求和。为此,我有以下代码: data = $data; } publ
我正在使用 Maatwebsite Laravel-Excel 将大型 xlsx 文件导入我的数据库。它工作得很好,但我找不到导入链接到文档中某个单元格的超链接的方法。这些链接始终作为没有附加链接的简
关闭。这个问题需要debugging details .它目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and the
在 excel 中,我有 3 个名为 Total 的列, Payment Released , 和 Payment Return .计算Payment Return ,我在其中添加了一个公式,即 =U
我是一名优秀的程序员,十分优秀!