标签: laravel-excel

Laravel 5 Excel安装失败

我正在尝试将Laravel Excel(http://www.maatwebsite.nl/laravel-excel/docs)软件包安装到我的Laravel 5上.这是我到目前为止所做的:

  • 添加"maatwebsite/excel": "2.*"到我的要求,composer update 完成就好了,我有所有的包文件
  • 添加'Maatwebsite\Excel\ExcelServiceProvider',到提供者数组
  • 添加'Excel' => 'Maatwebsite\Excel\Facades\Excel',到别名数组

这是问题 - 当我尝试跑步时php artisan vendor:publish,它会告诉我Nothing to publish for tag [].

当我使用php artisan tinker并运行时$excel = App::make('excel'),它会告诉我ReflectionException with message 'Class excel does not exist'.

我究竟做错了什么?

php laravel laravel-5 laravel-excel

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

Laravel-Excel(MaatWebSite)需要长时间阅读

我不知道我做错了什么,或者它可能是正常的.我必须加载并"读取"大约12000行的excell.我使用这个代码.

Excel::selectSheetsByIndex(0)->load($path.$fileName, function ($reader) {
    $reader->each(function($row){
        Log::info('$row');
    });
});
Run Code Online (Sandbox Code Playgroud)

正如你所看到的,没有什么可以使阅读变得如此缓慢.我需要在读取后处理数据,如果只读取超过5-10分钟就会出现问题.

我也尝试使用块过滤器,但没有什么比这更好了.

这是正常的吗?

我知道excel阅读速度很慢,正如我在其他问题中读到的那样,但"这个"很慢?谢谢.

php excel laravel-excel

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

Laravel Excel 将设置值导出到单元格?

我使用 maatwebsite excel 库来导入和导出数据。我想设置单元格数据,例如。

    A          B         C          D          E          F
1   heading1   heading2  heading3   heading4   heading5   heading6
2   data1      data2     data3      data4      data5      data6
3   data12     data22    data32     data42     data52     data62
4              data23    data33     data43     data53     
5                        data34     data44     data54
6                        data35     data45     data54
7                                   data46     data56
8                                   data47     data57
9                                   data48
10                                  data49
11                                  data50
12                                  data51
Run Code Online (Sandbox Code Playgroud)

我想导出类似的数据,我尝试了很多但没有成功。

下面是我的代码。

$sheet->fromArray($dataHeading);
Run Code Online (Sandbox Code Playgroud)

我使用此功能为 Excel 文件添加值。但问题是这个函数增加了原始值,我想增加单元格值。

就像首先我增加价值然后A等等B......

我找不到任何可以让我为单元格增加价值的函数。

请帮助我如何处理这个问题。我有像 php 数组这样的数据。

array(
   'heading1' => array(
       'data1','data12'
    ),
    'heading2' …
Run Code Online (Sandbox Code Playgroud)

php excel laravel-5 laravel-excel

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

Laravel Excel:如何获得细胞的价值?

.xlsLaravel Excel加载了文件:

Excel::load('public/files/20160621.xls', function($reader) {
    // read a cell value
});
Run Code Online (Sandbox Code Playgroud)

如何读取加载的excel文件的单元格值?文档似乎不清楚.

php phpexcel laravel laravel-excel

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

如何在Laravel中启用错误报告?

我使用Laravel 5.2,我试图导入包含超过18000条记录的Excel工作表。下面的错误出现。本地主机页面不起作用

localhost is currently unable to handle this request.
HTTP ERROR 500
Run Code Online (Sandbox Code Playgroud)

我试图改变的php.ini max_execution_time从30秒到300秒,但什么也没有改变

php xampp laravel-5 laravel-excel

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

如何在laravel excel中传递参数?

我从这里得到教程:https : //laravel-excel.maatwebsite.nl/docs/3.0/export/basics

<?php
...
use App\Exports\ItemsDetailsExport;
class ItemController extends Controller
{
    ...
    public function exportToExcel(ItemsDetailsExport $exporter, $id)
    {
        //dd($id); I get the result
        return $exporter->download('Summary Detail.xlsx');
    }
}
Run Code Online (Sandbox Code Playgroud)

我的出口是这样的:

<?php
namespace App\Exports;
use App\Repositories\Backend\ItemDetailRepository;
use Maatwebsite\Excel\Concerns\FromCollection;
use Maatwebsite\Excel\Concerns\Exportable;
use Illuminate\Support\Facades\Input;
class ItemsDetailsExport implements FromCollection
{
    use Exportable;
    protected $itemDetailRepository;
    public function __construct(ItemDetailRepository $itemDetailRepository)
    {
        $this->itemDetailRepository = $itemDetailRepository;
    }
    public function collection()
    {
        $test  = Input::get('id');
        dd('yeah', $test);
    }
}
Run Code Online (Sandbox Code Playgroud)

我想将 id 参数传递给导出文件。我这样尝试,但我没有得到 id。id 为空

我怎么解决这个问题?

excel laravel laravel-excel laravel-5.6

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

laravel excel 导出时出错 - touch(): 无法创建文件 /var/folders/ 因为权限被拒绝

我安装了larvel excel,当我尝试获取excel时,它显示以下错误

touch():无法创建文件 /var/folders/wg/vbj_bbf14gl7glz__j1xpvg40000gn/T/laravel-excel-62n8RpljR3nr31FGxE96fwrovKEhXPWT 因为权限被拒绝

laravel-5 laravel-excel

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

laravel excel 更新插入不更新数据

我有一个 csv 文件,里面有数据。我想将其导入到我的数据库中。如果csv文件中有重复的数据,我不希望它创建新的重复记录,我想要的是更新它。

但问题是,它正在创造新的重复记录。

控制器(略):

Excel::import(new FruitImport, $request->file('fruits_file'), \Maatwebsite\Excel\Excel::XLSX);
Run Code Online (Sandbox Code Playgroud)

导入文件(略):

class FruitImport implements ToModel, WithUpserts, ... {
    public function model(array $row) {
        return new Fruit([
            'color' => $row[0],
            'taste' => $row[1],
            'smell' => $row[2],
            'name' => $row[3],
            'price' => $row[4],
            'supplier_id' => $row[5],
            ...
         ]);
    }

    public function uniqueBy() {
        return ['color', 'taste', 'smell', 'name'];
    }

    ...
}
Run Code Online (Sandbox Code Playgroud)

所以基本上,如果我将包含具有相同颜色、味道、气味、名称的行的 csv 文件导入到我的数据库中,我希望它被更新。如果我的数据库中的任何记录具有相同的颜色、味道、气味和名称数据,情况也是如此。

我的桌子:

Field    | Type        | Key  | ...
id       | big int un..| Pri  |
color    | varchar(12) | …
Run Code Online (Sandbox Code Playgroud)

php laravel laravel-excel

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

如何使用 laravel excel 导出大量行

我需要将大量行导出到 Excel。我正在使用Laravel-excel。我遵循了导出大型数据库的文档中给出的所有建议。

// routes/web.php
Route::post('/dashboard/export', [DashboardController::class, 'export'])->middleware('auth');

// app/Http/Controllers/DashboardController.php
class DashboardController extends Controller
{

    public function export(Request $request)
    {
        $filename = str::random(20).".xlsx";
        (new UsersExport($request->all()))->queue($filename, 'public')->chain([
            new NotifyUserOfCompletedExcelExport(request()->user(),$filename ),
        ]);
        
        return json_encode([
            'message' => "You will receive email with download link once export is complete."
        ]);
        
    }
}


// app/Exports/UsersExport.php
class UsersExport implements FromCollection, WithHeadings
{
    use Exportable;
    public function __construct($config)
    {
        
        $this->config = $config;
    }
    
    public function collection()
    {
        $mains = DB::table('mains')->select('name', 'email', 'designation', 'country', 'university', 'discipline', 'subject', …
Run Code Online (Sandbox Code Playgroud)

laravel-excel laravel-8

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

如何使用导入excel更新数据库中的数据

如何使用导入excel更新数据库中的数据。我正在使用 laravel 5.7 和 maatwebsite 3.1

\n

这是我的控制器:

\n
public function import()\n{\n   $data = Excel::toArray(new ProdukImport, request()->file('file')); \n   if ($data) {\n       DB::table('produk')\n            ->where('id_produk', $data['id'])\n            ->update($data);\n   }\n}\n
Run Code Online (Sandbox Code Playgroud)\n

这是我的导入类:

\n
<?php\n\n namespace App\\Imports;\n\n use App\\Produk;\n use Maatwebsite\\Excel\\Concerns\\ToModel;\n use Maatwebsite\\Excel\\Concerns\\WithHeadingRow;\n\n\n class ProdukImport implements ToModel, WithHeadingRow\n {\n    /**\n     * @param array $row\n     *\n     * @return \\Illuminate\\Database\\Eloquent\\Model|null\n     */\n    public function model(array $row)\n    {\n       return new Produk([\n          'id_produk' => $row['id'],\n          'nama_produk' => $row['produk'],\n          'harga_jual' => $row['harga']\n       ]);\n     }\n  }\n
Run Code Online (Sandbox Code Playgroud)\n

这个 dd($data) 结果:

\n
array:1 …
Run Code Online (Sandbox Code Playgroud)

php laravel laravel-5 laravel-excel maatwebsite-excel

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