标签: maatwebsite-excel

在laravel中使用ajax下载maatwebsite excel

我正在尝试在 Laravel 中使用 ajax 方法下载一个 excel 文件。控制器功能:

$myFile = Excel::create($name, function ($excel) use ($export) {
            $excel->sheet('Data', function ($sheet) use ($export) {
                $sheet->fromArray($export);

                $sheet->cells('A1:N1', function ($cells) {

                    $cells->setBackground('#dbdbdb');
                    $cells->setFontColor('#000000');
                    $cells->setFontWeight('bold');
                    $cells->setFont(array(
                        'family' => 'Calibri',
                        'size'   => '9',

                    ));

                });

                $sheet->setStyle(array(
                    'font' => array(
                        'name' => 'Calibri',
                        'size' => 9,

                    ),
                ));

            });
        });
        $myFile   = $myFile->string('xlsx'); 
        $response = array(
            'name' => $name, 
            'file' => "data:application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;base64," . base64_encode($myFile), 
        );

        return response()->json($response);
Run Code Online (Sandbox Code Playgroud)

阿贾克斯功能:

$(document).on('click', '.ExportJobs', function() {
    $.ajaxSetup({
        headers: {
            'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
        } …
Run Code Online (Sandbox Code Playgroud)

ajax excel maatwebsite-excel laravel-5.4

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

Maat网站Excel导出

我有一个简单的查询,使用 maat 网站生成文件

namespace App\Exports;

use Maatwebsite\Excel\Concerns\FromCollection;
use App\MyDB;
use Auth;


 class ReportExport implements FromCollection
{
    public function collection()
    {
        $email = Auth::user()->email;
        return MyDB::MyFunction($email)
                ->select('Reference_Number')->get();
    }
}
Run Code Online (Sandbox Code Playgroud)

一切工作正常,但我如何添加标题?

我尝试查看文档,但它让我更加困惑。 https://laravel-excel.maatwebsite.nl/docs/3.0/export/mapping

laravel maatwebsite-excel

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

Maatwebsite 导入在 ubunutu 中不起作用

当我尝试在 Ubuntu 中的服务器上使用 Maatwebsite 3.1 版本导入 Excel 表格时,出现此类错误。

错误:

Maatwebsite \ Excel \ Exceptions \ NoTypeDetectedException

无法检测到 ReaderType 或 WriterType。确保将有效的扩展名传递给文件名或传递显式类型。

控制器

$path = $request->file('mcafile')->getRealPath();
$data = \Excel::import(new UsersImport,$path);
Run Code Online (Sandbox Code Playgroud)

但是相同的导入 excel 代码在我的本地 Windows 机器上运行良好。我上传的每个代码和文件都是相同的。但是在本地和服务器中的工作方式不同。任何人都可以请帮忙。

windows import ubuntu maatwebsite-excel laravel-5.8

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

Laravel - 错误:App\Exports\View 必须与 Maatwebsite\Excel\Concerns\FromView::view(): Illuminate\Contracts\View\View 兼容

我正在尝试使用 PHP 7、Laravel 5.8、Maatwebsite Excel 3.1 导出到 excel。我成功地在视图刀片上显示并执行过滤器。

模型:使用 App\UserResponse;

控制器

public function userresponseReport(Request $request,$export=false)
{
    $data['title'] = 'User Response';

    $userresponses = DB::table('user_response as g')
        ->select(
        //DB::raw('DATE(g.created_at) as created_date'),
            DB::raw('g.created_at as created_date'),
            'g.msisdn',
            'g.game_code',
            'g.answer',
            'g.answer_code',
            'g.Amount_charged',
            'g.payment_ref',
            'g.status',
            'g.user_channel'
        )
        ->orderByRaw('g.created_at DESC');

    $start_date = $request->start_date;
    $end_date = $request->end_date;

    $render=[];
    if(isset($request->start_date) && isset($request->end_date))
    {
        $userresponses=$userresponses->whereBetween('created_at',[$start_date.' 00:00:00',$end_date.' 23:59:59']);
        $render['start_date']=$request->start_date;
        $render['end_date']=$request->end_date;
    }elseif(isset($request->start_date))
    {
        $userresponses=$userresponses->where('created_at',$request->start_date);
        $render['start_date']=$request->start_date;
    }
    if(isset($request->msisdn))
    {
        $userresponses=$userresponses->where('msisdn','like','%'.$request->msisdn.'%');
        $render['msisdn']=$request->msisdn;
    }
    if(isset($request->game_code))
    {
        $userresponses=$userresponses->where('game_code','like','%'.$request->game_code.'%');
        $render['game_code']=$request->game_code;
    }
    if(isset($request->user_channel))
    {
        $userresponses=$userresponses->where('user_channel','like','%'.$request->user_channel.'%');
        $render['user_channel']=$request->user_channel;
    }

    if(!empty($export)) …
Run Code Online (Sandbox Code Playgroud)

laravel maatwebsite-excel

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

函数 Maatwebsite\Excel\Excel::import() 的参数太少,1 个通过,至少 2 个预期

我正在尝试在 Laravel 中导入 Excel 数据并插入到数据库中。我正在使用 maatwebsite/excel version 3 composer package 和 laravel version 5.8

错误截图: https : //imgur.com/a/2KXCE0g

刀片文件:import.blade.php

           <form action="{{ url('/import-excel/import') }}" method="POST" enctype="multipart/form-data">
                {{ csrf_field() }}
                <div class="form-group">
                    <label for="importFile">Select Import File</label>
                    <input type="file" name="select_file" class="form-controll">
                </div>
                <input type="submit" name="upload" class="btn btn-success" value="Import File">
            </form>
Run Code Online (Sandbox Code Playgroud)

控制器文件:ImportExcelController.php

public function import(Request $request){

    $this->validate($request, [
        'select_file' => 'required|mimes:xls,xlsx'
    ]);

    $path = $request->file('select_file')->getRealPath();

    $data = Excel::import($path)->get();

    if($data->count() > 0){
        foreach($data->toArray() as $key => $value){
            foreach($value as $row){
                $insert_data[] = array(
                    'CustomerName'  => …
Run Code Online (Sandbox Code Playgroud)

excel laravel maatwebsite-excel

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

Laravel MaatWebsite / Excel Composer在Mac中安装错误

尝试通过Mac的composer在XAMPP 7.1.32 rev 1中安装maatwebsite / excel。如何在Mac的XAMPP中启用这些扩展,或者是否有任何其他问题。请帮我。

composer install
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - maatwebsite/excel 3.1.10 requires phpoffice/phpspreadsheet ^1.6 -> satisfiable by phpoffice/phpspreadsheet[1.6.0, 1.7.0, 1.8.0, 1.8.1, 1.8.2, 1.9.0].
    - maatwebsite/excel 3.1.11 requires phpoffice/phpspreadsheet ^1.6 -> satisfiable by phpoffice/phpspreadsheet[1.6.0, 1.7.0, 1.8.0, 1.8.1, 1.8.2, 1.9.0].
    - maatwebsite/excel 3.1.12 requires phpoffice/phpspreadsheet ^1.6 -> satisfiable by phpoffice/phpspreadsheet[1.6.0, 1.7.0, 1.8.0, 1.8.1, 1.8.2, 1.9.0].
    - maatwebsite/excel 3.1.13 …
Run Code Online (Sandbox Code Playgroud)

php laravel maatwebsite-excel

2
推荐指数
4
解决办法
289
查看次数

Maatwebsite Excel 中未定义的索引

我正在尝试在 Laravel 中导入 Excel 数据并插入到数据库中。我正在使用 maatwebsite/excel 版本 3 作曲家包。

错误:未定义索引:customer_name

刀片文件:import_excel.blade.php

<form method="post" enctype="multipart/form-data" action="{{ url('/import_excel/import') }}">
    {{ csrf_field() }}
    <div class="form-group">
        <table class="table">
            <tr>
                <td width="40%" align="right"><label>Select File for Upload</label></td>
                <td width="30">
                    <input type="file" name="select_file" />
                </td>
                <td width="30%" align="left">
                    <input type="submit" name="upload" class="btn btn-primary" value="Upload">
                </td>
            </tr>
            <tr>
                <td width="40%" align="right"></td>
                <td width="30"><span class="text-muted">.xls, .xslx</span></td>
                <td width="30%" align="left"></td>
            </tr>
        </table>
    </div>
</form>
Run Code Online (Sandbox Code Playgroud)

导入文件:CustomerImport.php

public function model(array $row)
{
    $data = [];

    foreach ($row as $value)
    {
        $data[] = …
Run Code Online (Sandbox Code Playgroud)

import-from-excel laravel maatwebsite-excel

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

数组必须与 Laravel 中的 Maatwebsite\Excel\Concerns\WithMapping::map($row) 兼容

我正在使用 Laravel-5.8 和 Maatwebsite-3.1 导出到 Excel。

<?php

namespace App\Exports;

use App\User;
use Auth;

class StudentExport implements FromCollection, ShouldAutoSize, WithHeadings, WithMappings, WithCustomStartCell
{

    private $headings = [
        'Student ID', 
        'Name',
        'Class',
        'Status',
        'Teacher'
    ];

    public function collection()
    {
        $current_terms = DB::table('appraisal_identity')->select('term_name')->where('company_id', $userCompany)->where('is_current', 1)->first()->term_name;
        $publishedgoals = AppraisalGoal::select('employee_code')->where('is_published', 1)->where('company_id', $userCompany)->groupBy('employee_code')->get();  


        $published_goals = DB::table('hr_students AS e')
                    ->join('hr_employees AS em','em.id','=','e.teacher_id')
                     ->select(
                        'e.student_id',
                        DB::raw('CONCAT(e.first_name, " ", e.last_name) AS full_name'),
                        'e.student_class,
                        DB::raw('(CASE WHEN e.is_status = 3 THEN "Excellent" WHEN e.is_status = 2 THEN "Good" WHEN e.is_status = …
Run Code Online (Sandbox Code Playgroud)

laravel maatwebsite-excel

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

Laravel Excel 导出不包括 0.00 的浮点值

我使用 "maatwebsite/excel": "^3.1" 导出到 Excel,但是当我导出时,值为 0 或 0.0 的列将被忽略,并且单元格留空。示例代码:

public function array(): array
{
    return $this->data;
}

public function columnFormats(): array
{
    return [
        'C' => NumberFormat::FORMAT_TEXT,
        'E' => '0.00',
        'F' => '0.00',
        'G' => '0.00'
    ];
}

public function map($rows): array
{
    return [
        $rows['employeeNumber'],
        $rows['basicSalary'],
        $rows['totalAllowance'],
        $rows['grossSalary']
    ];
}
Run Code Online (Sandbox Code Playgroud)

当列的值为 0 或 0.00 时,单元格中不会插入任何内容。 在此输入图像描述

laravel maatwebsite-excel

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

未定义类型'Maatwebsite\Excel\Concerns\ToModel

我使用 Maatwebsite 包在 Laravel 8 中导入 Excel 文件。安装该包并在 app.php 中添加所需的别名和提供程序后,我还执行了以下命令。

php artisan vendor:publish --provider="Maatwebsite\Excel\ExcelServiceProvider" 
Run Code Online (Sandbox Code Playgroud)

但是,当我使用模型 Mymodel (我拥有的模型)创建导入时,出现以下错误。

未定义 Maatwebsite\Excel\Concerns\ToModel;

进口类

class Importer implements ToModel
{
    public function model(array $row)
    {
        return new Universite([
            //
        ]);
    }
}
Run Code Online (Sandbox Code Playgroud)

php phpexcel laravel maatwebsite-excel

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