Coder Social home page Coder Social logo

fast-excel's Introduction

Version License StyleCI Tests Total Downloads

Fast Excel import/export for Laravel, thanks to Spout. See benchmarks below.

Quick start

Install via composer:

composer require rap2hpoutre/fast-excel

Export a Model to .xlsx file:

use Rap2hpoutre\FastExcel\FastExcel;
use App\User;

// Load users
$users = User::all();

// Export all users
(new FastExcel($users))->export('file.xlsx');

Export

Export a Model or a Collection:

$list = collect([
    [ 'id' => 1, 'name' => 'Jane' ],
    [ 'id' => 2, 'name' => 'John' ],
]);

(new FastExcel($list))->export('file.xlsx');

Export xlsx, ods and csv:

$invoices = App\Invoice::orderBy('created_at', 'DESC')->get();
(new FastExcel($invoices))->export('invoices.csv');

Export only some attributes specifying columns names:

(new FastExcel(User::all()))->export('users.csv', function ($user) {
    return [
        'Email' => $user->email,
        'First Name' => $user->firstname,
        'Last Name' => strtoupper($user->lastname),
    ];
});

Download (from a controller method):

return (new FastExcel(User::all()))->download('file.xlsx');

Import

import returns a Collection:

$collection = (new FastExcel)->import('file.xlsx');

Import a csv with specific delimiter, enclosure characters and "gbk" encoding:

$collection = (new FastExcel)->configureCsv(';', '#', 'gbk')->import('file.csv');

Import and insert to database:

$users = (new FastExcel)->import('file.xlsx', function ($line) {
    return User::create([
        'name' => $line['Name'],
        'email' => $line['Email']
    ]);
});

Facades

You may use FastExcel with the optional Facade. Add the following line to config/app.php under the aliases key.

'FastExcel' => Rap2hpoutre\FastExcel\Facades\FastExcel::class,

Using the Facade, you will not have access to the constructor. You may set your export data using the data method.

$list = collect([
    [ 'id' => 1, 'name' => 'Jane' ],
    [ 'id' => 2, 'name' => 'John' ],
]);

FastExcel::data($list)->export('file.xlsx');

Global helper

FastExcel provides a convenient global helper to quickly instantiate the FastExcel class anywhere in a Laravel application.

$collection = fastexcel()->import('file.xlsx');
fastexcel($collection)->export('file.xlsx');

Advanced usage

Export multiple sheets

Export multiple sheets by creating a SheetCollection:

$sheets = new SheetCollection([
    User::all(),
    Project::all()
]);
(new FastExcel($sheets))->export('file.xlsx');

Use index to specify sheet name:

$sheets = new SheetCollection([
    'Users' => User::all(),
    'Second sheet' => Project::all()
]);

Import multiple sheets

Import multiple sheets by using importSheets:

$sheets = (new FastExcel)->importSheets('file.xlsx');

You can also import a specific sheet by its number:

$users = (new FastExcel)->sheet(3)->import('file.xlsx');

Import multiple sheets with sheets names:

$sheets = (new FastExcel)->withSheetsNames()->importSheets('file.xlsx');

Export large collections with chunk

Export rows one by one to avoid memory_limit issues using yield:

function usersGenerator() {
    foreach (User::cursor() as $user) {
        yield $user;
    }
}

// Export consumes only a few MB, even with 10M+ rows.
(new FastExcel(usersGenerator()))->export('test.xlsx');

Add header and rows style

Add header and rows style with headerStyle and rowsStyle methods.

use OpenSpout\Common\Entity\Style\Style;

$header_style = (new Style())->setFontBold();

$rows_style = (new Style())
    ->setFontSize(15)
    ->setShouldWrapText()
    ->setBackgroundColor("EDEDED");

return (new FastExcel($list))
    ->headerStyle($header_style)
    ->rowsStyle($rows_style)
    ->download('file.xlsx');

Why?

FastExcel is intended at being Laravel-flavoured Spout: a simple, but elegant wrapper around Spout with the goal of simplifying imports and exports. It could be considered as a faster (and memory friendly) alternative to Laravel Excel, with less features. Use it only for simple tasks.

Benchmarks

Tested on a MacBook Pro 2015 2,7 GHz Intel Core i5 16 Go 1867 MHz DDR3. Testing a XLSX export for 10000 lines, 20 columns with random data, 10 iterations, 2018-04-05. Don't trust benchmarks.

Average memory peak usage Execution time
Laravel Excel 123.56 M 11.56 s
FastExcel 2.09 M 2.76 s

Still, remember that Laravel Excel has many more features.

fast-excel's People

Contributors

alirezasedghi avatar asmaashali avatar atymic avatar brutusbossnl avatar crynobone avatar dotmarn avatar dukferradj avatar dyaskur avatar henryavila avatar humbertleonardo avatar ivandrew avatar johanrosenson avatar jpmurray avatar krenor avatar laravel-shift avatar maherelgamil avatar markdieselcore avatar mashkovtsevlx avatar matejjurancic avatar micalm avatar mokhosh avatar pochwar avatar pushchris avatar rap2hpoutre avatar scrutinizer-auto-fixer avatar shoutoutloud avatar squatto avatar svenluijten avatar tumichnix avatar zarunet avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

fast-excel's Issues

errore when read a datetime

i want load a xls, but when read a datetime, laravel show this error:
Undefined property: DateTime->$date

any help ?
br Max

Usage question

Hello,

When i trying to use your package, i always get null also there is no file placed in the filesystem.

      $pma_forms = PmaForm::all();
      $export = (new FastExcel($pma_forms))->export('pma_form_'.$pma_form_id.'.xlsx');
      dd($export);

Also return $export does nothing but a blank page.

Am i missing something here?

I am running Laravel Framework 5.6.20, PHP 7.2.5, on osx 10.13.4.

Using chunk in collection and export to Excel

Hi
Thanks for this package, it is extremely fast,

I have problems with memory exhausted in exporting over 300K, rows.

I need to chunk the exported data, to save memory,
how can this be done.?

count array = 0

$first_row = $this->data->first();
foreach ($first_row as $item) {
if (!is_string($item)) {
$need_conversion = true;
}
}
Check $first_row not null and foreach.

Could not open for reading

This is message "Could not open /var/www/storage/test.xls for reading! (Could not open /var/www/storage/test.xls for reading.)"

this is my code .

    public function import(Request $request) {
        // return dd($request->file('import_file')) ;
        $col = (new FastExcel)->import(storage_path('test.xls'));
        return $col; 
    }

its just testing code, but not working .
Thanks !

How can I export from command line?

I want to create an export of models based on my query. There is no fixed query as I export it randomly and based on some parameters. How can I achieve that? I absolutely love your package! just need this feature so that I can export specific users based on my query.

Import to Model

ON HOLD. See: #13

Currently, it's possible to export from a collection or a model, but only possible to import to collection (not a model). It should be possible, just like this:

$users = (new FastExcel(User::class))->import('file.xlsx');

It should map all columns to existing attributes (declared in fillable property). See #6 for mapping attributes.

Download on safari

Hi,

I use it for download an export of table basically.
It work perfectly on google chrome but on safari, he had .html after my .xlsx

have you an idea ?
Thanks

Add SheetCollection class

Create a class SheetCollection that extends Collection with nothing more for now (so an empty class). It prepares the evolution of export/import system. See #24 (comment)

Export multiple sheets

It could be something like:

use Rap2hpoutre\FastExcel\FastExcel;
use Rap2hpoutre\FastExcel\SheetCollection;
use App\User;
use App\Project;

$users = User::all();
$projects = Project::all();

$sheets= new SheetCollection($users, $projects)

// Export all users in sheet 1 and all projects on sheet 2
(new FastExcel($sheets))->export('file.xlsx');

So in other words we could:

  • Create a new class SheetCollection (which extends Collection)
  • Accept SheetCollection in FastExcel contructor.
  • If the paramter is a SheetCollection, then it means each item must be in a sheet.

It seems a simple API.

Failed to Import XLSX file

Trying to open a XSLX file:

$collection = (new \Rap2hpoutre\FastExcel\FastExcel)->import(storage_path('test.xlsx'));
dd($collection);

Throws this exception:
Rap2hpoutre\FastExcel\FastExcel and Rap2hpoutre\FastExcel\Importable define the same property ($with_header) in the composition of Rap2hpoutre\FastExcel\FastExcel. This might be incompatible, to improve maintainability consider using accessor methods in traits instead. Class was composed

Exporter not working properly on live

Error:
syntax error, unexpected '?'

in Importable.php (line 57)

` public function export(Request $request) {

    if ($request->s_search) {
            $timelines = Timeline::where([ ['type', 'user'], ['name', 'like', '%'.$request->s_name.'%'] ])->join('users', 'users.timeline_id', '=', 'timelines.id')
            ->where([['deg_year', 'like', '%'.$request->s_year.'%'],['deg_ach', 'like', '%'.$request->programme_id.'%'],['school', 'like', '%'.$request->s_sname.'%']])->get();
    } else {
        $timelines = Timeline::where('type', 'user')->get();
    }
    // echo '<pre>';
    // print_r($timelines);
    // echo '</pre>';
    // die;
    
    $xlxs = rand().'_Users';
    (new FastExcel($timelines))->export('/export/'.$xlxs.'.xlsx', function ($timeline) {
        return [
            'Email'    => $timeline->user->email,
            'username' => $timeline->username,
        ];
    });   
    //return (new FastExcel($timelines))->download('./export/'.$xlxs.'.xlsx');
     
     
     return redirect('/admin/users?'.$request->getQueryString());
}`

changing direction

Hello and thanks for your useful package. i wonder if is it possible to change the direction of the excel file

How can I export laravel pagination data to Excel ?

Hello,
at first thanks for this great package,
I wanna know how I can export excel file from Laravel pagination data ?

I mean this is blow:

$items = User->where('active',1)->orderBy('position','desc')->paginate(10);
$data = $items->toArray()['data'];
return (new FastExcel($data))->download('file.xlsx');

because of I want to export excel file per page
I hope you help me as soon as you read it ...

Specify export/download path & download not working

Hello there,
Thanks for this wonderful package of yours and it's simplicity.

I am a beginner to laravel and php as a whole. I am using laravel v5.6.

I used the awesome package and realized that the exported files can be found on the public folder, I don't see in your readme where I can specify where the files should be exported to.

e.g. if I want to store it in a path like /public/storage/export/file.xlsx

Secondly, If I use ->download() as shown below, nothing happens, nothing was either exported or downloaded.

return (new FastExcel($data))->download('Transaction_'.date('d_M_Y-h-i-s-A').'.xlsx');
I expect the above to download the file for me...

The two question remains, specify path url & how to make the file downloadable for the user.

Below is my code in my controller.

`
private function export($data){

    //Modifying the $data Content that we want to export to Excel.
    $data->transform(function ($txn) {
        
        if ($txn['status'] == '00') {
            $txn['status'] = 'Successful';
        }elseif ($txn['status'] == '02') {
            $txn['status'] = 'Pending';
        }elseif ($txn['status'] == '03') {
            $txn['status'] = 'Failed';
        }elseif ($txn['status'] == '04') {
            $txn['status'] = 'Refunded';
        }

        if(isset($txn['mid'])){
            $auth = Auth::where('merchantID', $txn['mid'])->get();

            if($auth->count() > 0){
                $auth = $auth->first();
                $merchant_name =  $auth->merchant_name;
            }
        }

        return [
            'Merchant Name' => $merchant_name,
            'Transaction ID' => $txn['txnRef'],
            'Currency' => $txn['currency'],
            'Amount' => $txn['value'],
            'Customer Name' => $txn['user_fname'].' '.$txn['user_lname'],
            'Customer Email' => $txn['user_email'],
            'Type' => $txn['paymentType'],
            'Status' => $txn['status'],
            'Date' => $txn['updated_at'],
        ];

    });

    //Export the transactions
    return (new FastExcel($data))->export('Transaction_'.date('d_M_Y-h-i-s-A').'.xlsx');

}

`

Oh, and I forgot to add that all these are on localhost.

Thanks in Advance.

FastExcel with Storage

Hi!
Thank you for this great library!
I try to import an excel file in the Storage folder.

$file = Storage::disk('public')->url('Keywords.xlsx')
$collection = (new FastExcel)->import($file);

But I have this error:

Could not open http://projectname.oo/documentations/Keywords.xlsx for reading! Stream wrapper used is not supported for this type of file.

And with the same file placed in the public folder, there is no problem...
Is that problem is knew? or what am I doing wrong?

Thank you!

Create a façade

Create a façade (see #24 (comment) and #24 (comment)).

This issue is not a high level priority now (but maybe I'm wrong), I think it's OK to keep the (new FastExcel) pattern for some days/months (because it does not require façade currently, it's just about syntactic sugar).

Export a collection or a sheet collection

Improve "export" system, to accept either a collection and a sheet collection (a SheetCollection is just a collection of collections, but identified by its class). For now, it's in constructor, but it should be improved in a near future, because it's ugly and we will add a Façade. See: #24 (comment)

Must be done after #34

Could not handle int/double value on export

Cannot export the #ref id (int) & correct_value (double)

Here's my code:

    $user = Auth::user();

    if (!empty($user->province_id) && $user->type == 2) {
        $data = DB::table('student')
        	->join('student_assesment', 'student_assesment.student_id', '=', 'student.id')
        	->select(
        		'student.id',
        		'student.code',
        		'student.first_name',
        		'student.last_name',
        		'student.phone',
        		'student_assesment.correct_value as correct_value'
        	)
            ->where('student.state', '!=', 4)
            ->where('student.province_id', $user->province_id)
            ->get();
    } elseif (!empty($user->district_id) && ($user->type == 3 || $user->type == 4)) {
        $data = DB::table('student')
        	->join('student_assesment', 'student_assesment.student_id', '=', 'student.id')
        	->select(
        		'student.id',
        		'student.code',
        		'student.first_name',
        		'student.last_name',
        		'student.phone',
        		'student_assesment.correct_value as correct_value'
        	)
            ->where('student.state', '!=', 4)
            ->where('student.district_id', $user->district_id)
            ->get();
    } else {
        $data = DB::table('student')
        	->join('student_assesment', 'student_assesment.student_id', '=', 'student.id')
        	->select(
        		'student.id',
        		'student.code',
        		'student.first_name',
        		'student.last_name',
        		'student.phone',
        		'student_assesment.correct_value as correct_value'
        	)
            ->where('student.state', '!=', 4)
            ->get();
    }

    $mappingData = $data->map(function($student) {
        return [
            "#Ref Id" => strval($student->id),
            "Kode" => $student->code,
            "Name" => $student->first_name . " " . $student->last_name,
            "Phone Number" => $student->phone,
            "Correct Answer" => strval($student->correct_value),
        ];
    });

    $export = (new FastExcel($mappingData))->download('export_result.xlsx');

    return $export;
}

But when i set id & correct_value with strval() function, the data is exported.

any idea?

null handling

If in the first line of the outputted excel there is a null value then all columns are mixed up in the following lines.

Any suggestions?

Trying to add a value with an unsupported type: array

When I try to export my User model I receive this error:

Trying to add a value with an unsupported type: array (Box\\Spout\\Common\\Exception\\InvalidArgumentException(code: 0): Trying to add a value with an unsupported type: array at /home/vagrant/dev/vendor/box/spout/src/Spout/Writer/XLSX/Internal/Worksheet.php:231)

I believe this is occurring because I eager-load the user's roles which are a collection themselves. If I remove the eager-load it exports fine.

Here is what my fully loaded User model looks like:

User::whereId(1)->get();
=> Illuminate\Database\Eloquent\Collection {#903
     all: [
       App\User {#915
         id: 1,
         email: "[email protected]",
         name: "Dummy User",
         address: "123 Dummy St",
         city: "City",
         state: "NY",
         zip: "12345",
         phone: "5555555555",
         created_at: "2018-04-01 02:44:42",
         updated_at: "2018-04-02 11:50:38",
         roles: Illuminate\Database\Eloquent\Collection {#884
           all: [
             App\Role {#901
               id: 3,
               name: "admin",
               description: "Administrator",
               created_at: "2018-04-01 02:44:26",
               updated_at: "2018-04-01 02:44:26",
               pivot: Illuminate\Database\Eloquent\Relations\Pivot {#885
                 user_id: 1,
                 role_id: 3,
               },
             },
           ],
         },
       },
     ],
   }


Can't import an excel with dateTime cell

Hey,

When I try to import an excel with datetime cell , I get the following error:

Object of class DateTime could not be converted to string

This would be solved using $reader->setShouldFormatDates(true); but there's no way to access reader directly.

Example file that produces this issue: DateTest.xlsx

Importing only column A

Hello,
I am using $collection = (new FastExcel)->import('file.xlsx'); to import the file, but I only get the column A and I do not find anything on the documentation about how to access other columns.

Thank you for your help.

Add chunk/append method

ON HOLD. See: #13

Quoting the comment from /u/Numline1 on reddit:

How about adding some append/chunk methods for larger collections though?

In other words, it could be great if we could build an export by appending data several times (to avoid memory consumption, defer some work, etc.). And if we could chunk data in smaller collections for import.

Spout is designed for this kind of need, so I guess it's OK.

how can i break in FastExcel loop

after i import a xls, the loop is working .but i want stop the loop and get some params for the next step.
i cannot find a solution , someone may help me ,thx!

Store import to database

ON HOLD. See: #13

After #5 is done (and maybe #6), it could be great to allow to directly save to database. Something like:

(new FastExcel(User::class))->insert()->import('file.xlsx')

After #6 is done:

(new FastExcel(User::all))
    ->mapAttributes([
        'column 1' => 'name',
        'Email' => 'email',
    ])
    ->insert()
    ->import('file.xlsx');

Not sure about insert, though. Maybe toDatabase or save. The strange thing is that I have to call it before import, so it's a bit misleading. Maybe this issue must be redesigned...

chinese GBK make me trouble

detail:
b"ÉÌÆ·Ãû³Æ" => b"»ªÎªÈÙÒ«9¸Ö»¯Ä¤v10v9ÈÙÒ«8Çà´º°ænova2sÈ«ÆÁplay¸²¸Ç9iÌùĤmate°Ëp20proÊÖ»úp9p10Ô­×°v8¾Åplus¿¹À¶¹âÈ«°ü±ß"

please help me.....

my code:
$path = storage_path('app/uploads/3.csv');
(new FastExcel)->import($path, function ($line) {
dd($line);
});

CSV download includes Laravel debugbar scripts and styles

Hi,

When we have laravel debugbar installed and try to download csv, the csv file includes the laravel debugbar scripts and styles along with actual records.

// Code to reproduce the issue
Route::get('test', function () {
    return (new \Rap2hpoutre\FastExcel\FastExcel(\App\Models\User::all()))->download('users-list.csv');
});
// How i fixed this issue
Route::get('test', function () {
    return response()->streamDownload(function () {
        return (new \Rap2hpoutre\FastExcel\FastExcel(\App\Models\User::all()))->download('users-list.csv');
    });
});

If possible please add this piece of code to docs somewhere.

Thanks.

Map attributes for import and export

ON HOLD. See: #13

Currently, when exporting a model, the columns names are exactly the same as those present in database (minus the ones that are hidden, like password for User model). So exporting a User model returns:

id name email
1 raph [email protected]

I think we should add something that allows to choose the name of columns.

So calling this:

(new FastExcel(User::all))->mapAttributes([
    'column 1' => 'name',
    'Email' => 'email',
])->export('file.xlsx');

...should create this:

column 1 Email
raph [email protected]

When #5 will be done, it should also work for import the same way. So it should be possible to do this to create a bunch of user instances:

$users = (new FastExcel(User::all))->mapAttributes([
    'column 1' => 'name',
    'Email' => 'email',
])->import('file.xlsx');

Name sheets in export

According to this comment, it would be great to be able to name sheets. As suggested by @harty, it could be done in SheetCollection constructor:

$sheets = new SheetCollection(
    [User::all(), Project::all()], 
    ['users sheet', 'project sheet']
);

So it means a new property (names) could be added to SheetCollection then it could be passed as a second argument in the SheetCollection constructor.

The main advantage to add it in the constructor is that (in a second step), it could be used in import process too: the sheet names would be loaded from the importSheets function that returns the SheetCollection. So that's cool.

One disadvantage of creating the name of the sheets via SheetCollection constructor is that there is no way to name a sheet when exporting only a Collection (e.g only one sheet) but I'm not sure it's an actual issue: the main goal is to name sheets in multiple sheets export.

Using a callback in import

Maybe we could use a callback in import:

$result = (new FastExcel)->import('test.xlsx', function($line) {
    return Thing::create([
        'id' => $line['id'],
        'name' => $line['lastname'] . ' ' . $line['firstname'],
    ]);
});

Maybe with this issue, we could avoid making these issues: #7, #2 (for chunk), #5 and even #6 or #4

Maybe after we should add a callback for export too (styling, etc.)

Set Maximum row & download multiple file excel

Hi, thank you before for this plugin very helping me, i want to ask how to i can set maximum Row & download multiple file, example :
I have 500 row data collection and i want to divide 150, so i have 4 file and download it.
Thank you

Wrong date formatting

I have an excel with date column 2018-07-01, but after importing it appears to be a DateTime object

 DateTime @1404086400 {#645 ▼
        date: 2014-06-30 00:00:00.0 UTC (+00:00)
      }

The year seems to be off by 4 years, or alternatively is there a way to disable the date formatting? I notice that in RowInterator.php's constructor we can actually pass in $options.

Could not open file to import

I cannot read my imported file, here is my function:

 public function import(Request $request)
    {
        $products = (new FastExcel)->import($request->file('file'), function ($reader) {
            return Product::create([
                'title' => $reader['title'],
                'slug' => $reader['slug'],
                'imageOne' => $reader['imageOne'],
                'imageTwo' => $reader['imageTwo'],
                'imageThree' => $reader['imageThree'],
                'short_description' => $reader['short_description'],
                'description' => $reader['description'],
                'stock' => $reader['stock'],
                'price' => $reader['price'],
                'installation_price' => $reader['installation_price'],
                'meta_description' => $reader['meta_description'],
                'meta_tags' => $reader['meta_tags'],
                'discounted_price' => $reader['discounted_price'],
                'start_discounted' => $reader['start_discounted'],
                'end_discounted' => $reader['end_discounted'],
                'demo_link' => $reader['demo_link'],
                'status' => $reader['status'],
                'category_id' => $reader['category_id']
            ]);
        });

        Session::flash('success', 'Your products imported successfully.');
    }

error i get:

Could not open C:\Users\usename\AppData\Local\Temp\php32D9.tmp for reading! (Could not open C:\Users\usename\AppData\Local\Temp\php32D9.tmp for reading.)

PS: I have tried documents way: using return Product::create(['title' => $reader['title'],........ instead of foreach, `same result (same error).

any idea?

setting title for columns or using balde

hi , is there any option to set the titles for columns ? right now it uses database column names as title alternatively i can use a balde template to set the titles for columns
is any of these 2 supported ?

Could not open file for reading

The code being used

(new FastExcel)
        ->import($request->file('csv'))
        ->map(function ($item, $key) {
...

The exception

IOException {#737
  #message: "Could not open /private/var/tmp/phpHjZSi4 for reading! (Could not open /private/var/tmp/phpHjZSi4 for reading.)"
  #code: 0
  #file: "/Users/harish/code/client/studio/vendor/box/spout/src/Spout/Reader/AbstractReader.php"
  #line: 126
  trace: {
    /Users/harish/code/client/studio/vendor/box/spout/src/Spout/Reader/AbstractReader.php:126 {}
    /Users/harish/code/client/studio/vendor/rap2hpoutre/fast-excel/src/Importable.php:96 {}
    /Users/harish/code/client/studio/vendor/rap2hpoutre/fast-excel/src/Importable.php:47 {}
    /Users/harish/code/client/studio/app/Repositories/StationInviteRepository.php:43 {
      › (new FastExcel)
      ›     ->import($request->file('csv'))
      ›     ->map(function ($item, $key) {
      arguments: {
        $path: UploadedFile {#480 …}
      }
    }

Already tried saving it first to the local disk and then using Storage::get(), still the problem persists.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.