2

我正在努力使用 Laravel-Excel 3.1。我无法修改文件。我的文件有两张纸(称为模板)。我想加载文档,修改它并让用户下载它。

Excel文件不是我创建的,我只需要用数据填充它。例如从这个: 在此处输入图像描述 到这个: 在此处输入图像描述

谢谢你。

4

2 回答 2

0

好吧,不确定这是否仍然有用,但这里有一些代码可以做到这一点。

use Maatwebsite\Excel\Excel;
use Maatwebsite\Excel\Concerns\WithEvents;
use Maatwebsite\Excel\Events\BeforeExport;
use Maatwebsite\Excel\Concerns\Exportable;
use Maatwebsite\Excel\Concerns\RegistersEventListeners;

class TestExport implements WithEvents

{
    use Exportable, RegistersEventListeners;

    public static function beforeExport(BeforeExport $event)
    {
        // get your template file
        $event->writer->reopen(new \Maatwebsite\Excel\Files\LocalTemporaryFile(storage_path('app/exports/report-front-page.xlsx')),Excel::XLSX);
        $event->writer->getSheetByIndex(0);
        
        // fill with information
        $event->getWriter()->getSheetByIndex(0)->setCellValue('A1','Some Information');
        $event->getWriter()->getSheetByIndex(0)->setCellValue('G4', 'Some Information');

        return $event->getWriter()->getSheetByIndex(0);
    }   

}
于 2021-06-25T18:20:51.877 回答
-2

使用excel包

use Excel;

在这里你可以传递数据

$getdata = values from database or directly get from user.
$headings= you have to pass heading of each column

将数据导出到excel

public function getExport($get_data, $headings)
{

    Excel::create(('excel name', function ($excel) use ($get_data, $headings) {
        $excel->sheet('Sheet 1', function ($sheet) use ($get_data, $headings) {

            $sheet->fromArray($get_data, null, 'A1', false, false);
            $sheet->prependRow(1, $headings);

        });
    })->export('xls');
}
于 2019-03-18T09:01:18.790 回答