如何将独特的条形码导出到Laravel中的Excel
#javascript #网络开发人员 #laravel #excel

嗨工匠,
这是怎么回事?希望一切都很好。在本教程中,我将通过使用JavaScript在Laravel中在Excel中导出条形码的示例。

您可以轻松地在Laravel 5,Laravel 6,Laravel 7,Laravel 8,Laravel 9和Laravel 10版本中导出条形码。

步骤1

在第一步中,如果您还没有在系统中安装Laravel,则可以运行Bellow命令并获得Fresh Laravel项目。

composer create-project --prefer-dist laravel/laravel export-barcode

步骤2

现在我们需要安装一个laravel的条形码包。 Laravel有太多的条形码软件包。其中您可以使用任何一个。在这种情况下,我正在安装用于条形码生成器的PICQER/PHP-BARCODE-GENERATOR软件包,这样我们就可以使用它的方法。因此,打开终端并运行Bellow命令。

composer require picqer/php-barcode-generator

步骤3

在此步骤中,我们将创建一个用于测试示例的路线。因此,让我们在该文件上添加新路由。
路线/web.php

<?php
Route::view('export-barcode', 'export-barcode');

现在,我们需要为显示条形码创建Export-Barcode.blade.php。因此,让我们创建像Bellow代码一样的刀片文件:

资源/视图/export-barcode.blade.php

export-barcode.blade.php

步骤4

这是本教程的主要部分。在这里,我们将进行主要操作,以将条形码导出到Excel。请注意,生成的条形码为基本64格式。因此,每当我们需要将条形码导出到Excel时。首先需要将生成的条形码保存到本地存储。这是代码将基本64映像保存到本地。

    @php
        $generatorPNG = new Picqer\Barcode\BarcodeGeneratorPNG();
        $somecode = time() . '.png'; //left as excersise for the reader.
        $baseImage = 'data:image/png;base64,' . base64_encode($generatorPNG->getBarcode('000005263635', $generatorPNG::TYPE_CODE_128));

        $img = str_replace('data:image/png;base64,', '', $baseImage);
        $img = str_replace(' ', '+', $img);
        $data = base64_decode($img);

        $path = public_path() . '/barcode/' . $somecode;
        file_put_contents($path, $data);
    @endphp

将图像保存在渲染表中保存图像路径的本地使用后。

步骤5

最后,我们需要一个将导出Excel的JS函数。这是JS函数的以下代码。

$(function() {
            $(".exportToExcel").click(function(event) {
                console.log("Exporting XLS");
                $("#studentTable").table2excel({
                    exclude: ".excludeThisClass",
                    name: $("#studentTable").data("tableName"),
                    filename: "StudentTable.xls",
                    preserveColors: false
                });
            });
        });

不要忘记在CDN链接下方导入。

    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
    <script src="https://cdn.rawgit.com/rainabba/jquery-table2excel/1.1.0/dist/jquery.table2excel.min.js"></script>

输出

这是我们输出的快照。

Excel Output

注意:如果您不想将所有条形码保存在本地存储中,则可以点击导出后删除所有条形码图像的Ajax请求。