标签: laravel-excel

导出为 csv 时不计算公式

我有这个 Excel 文件 ( .xlsx):

+---+-------+
|   |   A   |
+---+-------+
| 1 | 1     |
| 2 | =A1+1 |
| 3 | =2*3  |
+---+-------+
Run Code Online (Sandbox Code Playgroud)

在 Laravel 中,我配置了这段代码来显示内容

return Excel::load(base_path() . '/test.xlsx')->string('csv');
Run Code Online (Sandbox Code Playgroud)

它返回单元格的文本:"1","=A1+1","=3*2"

我想要的是计算值,但格式相同:"1","2","6"

代码

return Excel::load(base_path() . '/test.xlsx')->get();
Run Code Online (Sandbox Code Playgroud)

返回正确的计算数据,但格式错误。

php excel phpexcel laravel laravel-excel

2
推荐指数
1
解决办法
2562
查看次数

如何在 Laravel Excel 中为行设置背景颜色?

我使用 Laravel Excel 库,并尝试过以下代码:

public function registerEvents(): array
{
    return [
        AfterSheet::class    => function(AfterSheet $event) {

            $styleArray =  array('fill' => array(
                'color' => array('rgb' => '000000')
            ));

            $cellRange = 'A1:W1'; // All headers
            $event->sheet->getDelegate()->getStyle($cellRange)->applyFromArray($styleArray);
        },
    ];
}
Run Code Online (Sandbox Code Playgroud)

结果我得到没有黑色背景颜色的标题。

我也试过这个数组设置:

$styleArray = [
                    'font' => [
                        'bold' => true,
                    ],
                    'background' => [
                        'color'=> '#000000'
                    ]
                ];
Run Code Online (Sandbox Code Playgroud)

我使用事件,而不是创建。请不要推荐不相关的答案

laravel laravel-5 laravel-excel

2
推荐指数
2
解决办法
1万
查看次数

如何下载 Excel 模板在 Laravel Excel 3.1 中仅显示标题?

美好的一天,伙计们,..我需要下载一个仅显示标题的 Excel 模板,..

我的问题的 laravel-excel 版本 2 中有良好且有效的函数代码。但在 3.1 版本中我不知道如何编码。

这是我在版本 2 中的代码;

public function downloadCoursesTemplate()
{
    $columns = array(
        'Course Code',
        'Course Description',
        'Status'
    );

    return Excel::download('Courses', function ($excel) use ($columns) {
        $excel->sheet('Courses', function ($sheet) use ($columns) {
            $sheet->fromArray($columns);
        });
    })->export('xlsx');
}
Run Code Online (Sandbox Code Playgroud)

这是输出:

在此输入图像描述

我想要在 laravel-excel 版本 3.1 上实现

新版本中有文档,但我找不到它来解决我的问题。

有人可以帮助我吗?谢谢。对不起我的英语语法。

excel export-to-excel laravel laravel-excel laravel-6

2
推荐指数
1
解决办法
2585
查看次数

Laravel Vapor 和 Lavavel Excel 排队导入失败。由于临时存储不存在 Laravel 8 Vapor

当我尝试运行实现块读取和队列的导入时,我从 Vapor 队列收到以下错误;

ErrorException: touch(): Unable to create file /tmp/storage/framework/laravel-excel/laravel-excel-7IEEz0rP7NORtp7N4NeOxuH0hlbM9JPR.csv because No such file or directory in /var/task/vendor/maatwebsite/excel/src/Files/RemoteTemporaryFile.php:97
Run Code Online (Sandbox Code Playgroud)

Laravel Excel 文档说要在 config/excel.php 中设置这些值

https://docs.laravel-excel.com/3.1/imports/queued.html#multi-server-setup

'temporary_files' => [
        'local_path'          => storage_path('framework/laravel-excel'),        
        'remote_disk'         => 's3',       
        'force_resync_remote' => true,

Run Code Online (Sandbox Code Playgroud)

我的 steam yml 文件具有以下存储设置,并且使用正确的 env 值一切正常。用于蒸汽和当地发展

storage: **correct bucket name**
Run Code Online (Sandbox Code Playgroud)

有没有人设法使用 Laravel Excel 和 Vapor 进行排队导入,如果是的话,您是如何管理的?该文档并没有真正解释我应该使用什么值

php laravel laravel-excel laravel-vapor laravel-8

2
推荐指数
1
解决办法
1204
查看次数

Laravel Excel [Illuminate \ Contracts \ Bus \ Dispatcher]无法实例化

我在php7.0上使用Laravel 5.2以及何时

我尝试使用Laravel excel(http://www.maatwebsite.nl/laravel-excel)。像这样:

public function export(){
    $users = User::with('roles')->get();

    $excel = Excel::create('beo_felhasznalo_export'. date('_Y-m-d_H-i-s'));

    //header
    $excel->appendRow(array(
        'felhasználónév', 'valódi név', 'e-mail', 'mobil', 'felhasználói szint'
    ));

    foreach($users as $user){
        $excel->appendRow(array(
            $user->username,
            $user->real_name,
            $user->email,
            $user->mobile_number,
            implode(',', $user->roles())
        ));
    }
    $excel->download('xls');
}
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

Illuminate\Contracts\Container\BindingResolutionException thrown with message "Target [Illuminate\Contracts\Bus\Dispatcher] is not instantiable."

Stacktrace:
#87 Illuminate\Contracts\Container\BindingResolutionException in D:\Projects\beo_site\vendor\laravel\framework\src\Illuminate\Container\Container.php:752
#86 Illuminate\Container\Container:build in D:\Projects\beo_site\vendor\laravel\framework\src\Illuminate\Container\Container.php:633
#85 Illuminate\Container\Container:make in D:\Projects\beo_site\vendor\laravel\framework\src\Illuminate\Foundation\Application.php:674
#84 Illuminate\Foundation\Application:make in D:\Projects\beo_site\vendor\laravel\framework\src\Illuminate\Container\Container.php:1178
#83 Illuminate\Container\Container:offsetGet in D:\Projects\beo_site\vendor\maatwebsite\excel\src\Maatwebsite\Excel\ExcelServiceProvider.php:123
#82 Maatwebsite\Excel\ExcelServiceProvider:Maatwebsite\Excel\{closure} in D:\Projects\beo_site\vendor\laravel\framework\src\Illuminate\Container\Container.php:289
#81 Illuminate\Container\Container:Illuminate\Container\{closure} in D:\Projects\beo_site\vendor\laravel\framework\src\Illuminate\Container\Container.php:735
#80 …
Run Code Online (Sandbox Code Playgroud)

laravel laravel-excel laravel-5.2

1
推荐指数
1
解决办法
3108
查看次数

Laravel Excel 正在将日期从标题转换为一些数字

我有一个与 Laravel Excel 相关的问题。我的标题充满了日期,例如:2018-05-23。但是当我使用 excel 扩展名阅读它时:

 $data = Excel::load($request['file'], function($reader) {})->get();
Run Code Online (Sandbox Code Playgroud)

扩展不会将标题日期视为日期。取而代之的是将其转换的日期,某些数字-例如:43243

这是dd工作表:

在此处输入图片说明

重要说明:当日期在正常行中(不在标题中)时,日期转换得很好。


Laravel Excel 版本 (maatwebsite/excel) - 2.1.0
Laravel 版本 - 5.5

php laravel laravel-excel

1
推荐指数
2
解决办法
8668
查看次数

使用 Laravel Excel 包添加自定义页脚和页眉

我正在使用 Laravel Excel 3.1 版来生成 CSV/XLS 等。我必须自定义我的 csv 或 xls 以在列中生成自定义页脚和页眉。

它应该看起来像所附的屏幕截图。

预期输出

另外,我想将导出的文件存储到存储位置,但无法正常工作。

我所做的代码是:

class ReportExport implements FromArray, WithHeadings
{
    protected $results;

    public function __construct(array $results, array $headings, array $fileAttributes)
    {
        $this->results = $results;
        $this->headings = $headings;
        $this->file_attributes = $fileAttributes;
    }

    /**
     * @return array
     */
    public function array(): array
    {
        return $this->results;
    }

    /**
     * @return array
     */
    public function headings(): array
    {
        return $this->headings;
    }

    public function registerEvents(): array
    {
        return [
            // Handle by a closure.
            BeforeExport::class …
Run Code Online (Sandbox Code Playgroud)

php laravel laravel-excel

1
推荐指数
1
解决办法
5440
查看次数

调用数组laravel excel上的成员函数all()

我正在使用 laravel maatwebsite excel,

我尝试传递变量并执行一些操作并作为数组返回以导出,

因此,当我尝试将数组传递给主控制器以进行 excel 导出(下载)时出现错误

我的主控制器

public function excel_export(Request $request){

return Excel::download(new UsersExport($request->exp_vlas), 'users.xlsx');

}
Run Code Online (Sandbox Code Playgroud)

这里我将变量传递给集合

我的出口控制器

public function collection(){


        $instruments = implode(",",$this->id);

        $instruments = explode(",",$instruments);

        //$i=0;
        foreach ($instruments as $instrument) {
            $instr_list = DB::table('instruments')->select('*')->where('id',$instrument)->get()->toArray();
            $arr_instrulist[] = $instr_list;
            $instrument_var[] = $instrument;
            $instr_list = "";
            //$i++;
        }


        $arr_instrulist_excel[] = array('Instrument Name', 'Serial', 'Qa id', 'Unit', 'Range');

         foreach($arr_instrulist as $arr_instrulists){

            //$arr_instrulists = array($arr_instrulists);

              $arr_instrulist_excel[] = array(
               'Instrument Name'  => $arr_instrulists[0]->instrument_name,
               'Serial'   => $arr_instrulists[0]->serial,
               'Qa id'    => $arr_instrulists[0]->qa_identification_no,
               'Unit'  => …
Run Code Online (Sandbox Code Playgroud)

php laravel laravel-excel maatwebsite-excel

1
推荐指数
1
解决办法
2821
查看次数

如何从Maatwebsite Laravel Excel中的单元格公式中获取计算值?

在Excel中,我有3列,名称TotalPayment ReleasedPayment Return。为了计算Payment Return,我在其中添加了一个公式,即=U2-G2.

注:U2 是Payment Released,G2 是Total

我已经阅读了 Maatwebsite Laravel Excel 的文档,用于从 excel 导入数据库,并且数据插入成功。但是当我检查数据库时,该payment_return列全部由零填充0。当我这样做时dd($row['Payment Return'],它显示的不是它包含在 excel 中的值,而是公式本身。

在此处输入图片说明

请问这个怎么解决?

PS:也读过这个,但是我不知道import.php文件在哪里,我应该在哪里写函数?

提前致谢!

php mysql excel laravel laravel-excel

1
推荐指数
1
解决办法
2539
查看次数

可以在excel导入中添加多个参数吗?

我有一个基本表单,其中包含一个 excel 文件上传和一个选择选项。

选择包含几个选项。我想将带有文件的用户的选定选项传递给我的Excel::import

我尝试将另一个参数传递给我的导入,但它返回错误。(必须是字符串,给定数组)

这可以使用 Laravel excel 导入吗?

控制器

public function create(Request $request)
{
    if($request->hasFile('file')) 
    {
        $package = $request->input('package');
        // how can I add $package to my import to insert it to my user model?
        Excel::import(new AccountsImport, $request->file('file'));

        return ['message' => 'Excel has been succesfully uploaded'];
    }
}
Run Code Online (Sandbox Code Playgroud)

帐户导入

class AccountsImport implements ToCollection, withHeadingRow
{

    public function collection(Collection $rows)
    {
        $rows->each(function($row, $key) {
            Account::create([
                'name'   => $row['student'],
                'email'  => $row['e_mail'],
                // Want it to be possible to add …
Run Code Online (Sandbox Code Playgroud)

php excel laravel laravel-excel

0
推荐指数
1
解决办法
2213
查看次数