4

我正在努力使用Laravel-Excel(PHPExcel 的 Laravel 包)。

我无法修改文件。我的文件有一个工作簿(称为模板)。我想加载文档,修改它并让用户下载它:

Excel::selectSheets('template') -> load($source, function($file)
{

}) -> download('xls');

到目前为止,上面的代码有效。但我不知道如何填充单元格。我不想直接导出一个雄辩的模型,我需要遵循一定的结构。Excel文件不是我创建的,我只需要用数据填充它。

那么我如何例如用当前用户的名字填充单元格 A2 呢?

我搜索类似的东西

Excel::cell('A2') -> content = $user -> name;

这只是我想要实现的一个例子,这不是工作代码!

谢谢,卢马

4

4 回答 4

3

Laravel-Excel 运行 PHPExcel,您可以在 Laravel-Excel 公开的对象上运行原生 PHPExcel 方法。

从文档中获取单元格:http: //www.maatwebsite.nl/laravel-excel/docs/export#cells

\Excel::create('Document', function($excel) {
    $excel->sheet('Sheet', function($sheet) {
        $sheet->cell('A2', function($cell) {
            $cell->setValue('this is the cell value.');
        });
    });
})->download('xls');

而且,这是 $cell 实例的屏幕截图,显示了可以在其上调用的其他内容:

$cell 实例的 Kint 转储

于 2014-12-26T17:58:59.827 回答
2

我以这种方式使用它:

Excel::load('template_orden_compra.xls', function($doc){
   $sheet = $doc->getActiveSheet();
   $sheet->setCellValue('A2', $user->name);
})
->store('xls', storage_path('Excel'));
于 2016-02-29T15:54:01.600 回答
0

您可以使用原生 PHP Excel 函数:

Excel::load('file.xls', function($excel)
{
    $excel->getActiveSheet()->setCellValue('A1', 'cell value here');
}) -> download('xls');
于 2015-03-07T19:34:10.130 回答
0

您可以将以下内容用于多张工作表。

$somevalue = array('abc', 'xyz');

Excel::load('file.xlsx', function($file) use($somevalue) {
   $file->sheet( 'sheetName', function ($sheet) use($somevalue){
        $sheet->setCellValue('A1', $somevalue);
   });
})->export('xlsx');
于 2017-11-14T11:21:29.943 回答