Heim Web-Frontend Layui-Tutorial So exportieren Sie eine Excel-Tabelle mit dem Laui-Framework

So exportieren Sie eine Excel-Tabelle mit dem Laui-Framework

Jan 29, 2021 am 11:13 AM
layui 表格

So exportieren Sie eine Excel-Tabelle mit dem Laui-Framework

Vorwort:

Aus beruflichen Gründen muss ich die Funktion zum Exportieren von Excel-Tabellen verwenden. Die Hintergrundverwaltung verwendet das Laui-Framework.

(Teilen von Lernvideos: Einführung in die Programmierung)

Beim Blick auf das offizielle Website-Community-Forum von Laui sagten viele Leute, dass die integrierte Exportfunktion von Laui nur die Daten der aktuellen Seite exportieren kann. Darüber hinaus wird ein Teil der Daten über die Zuordnungstabelle zwischen Daten abgefragt und die von Laui bereitgestellten exportierten Daten werden angezeigt (Objekt), was sehr problematisch ist.

Um das Plug-in zu verwenden, ist es ganz einfach, die Datei von der untenstehenden URL herunterzuladen.

Dies ist eine Datei, die vom Plug-in verwendet werden muss. Achten Sie auf den Pfad der importierten Datei.

So exportieren Sie eine Excel-Tabelle mit dem Laui-Framework

Hier ist eine URL zum Herunterladen. Darin sind auch Tutorials enthalten: https://github.com/wangerzi/layui-excel

Lassen Sie mich Ihnen den Projekthintergrund zeigen: Zum Beispiel die Bestellnummer , das heißt: Die

So exportieren Sie eine Excel-Tabelle mit dem Laui-Framework

-Abfrage aus der zugehörigen Auftragstabelle führt direkt zum Code:

jsp:

Dies ist eine exportierte Operationsschaltfläche:

<button type="button" lay-submit="" class="layui-btn layui-btn-warm" lay-filter="uploadImg">
    <i class="layui-icon"></i>导出Excel</button>


layui.use([&#39;layer&#39;, &#39;form&#39;, &#39;table&#39;, &#39;laydate&#39;,&#39;jquery&#39;], function () {
    var $ = layui.jquery,
        layer = layui.layer,
        form = layui.form,
        laydate = layui.laydate,
        table = layui.table;

 
    // 加载框
    var loading;

    loading = layer.load(1, {shade: [0.3, &#39;#fff&#39;]});

    var tableIns = table.render({
        elem: &#39;#tableList&#39;,
        // cellMinWidth: 100,
        cols: [[
            {field: &#39;sdId&#39;, width: 60, title: &#39;ID&#39;, sort: true}
            , {field: &#39;sdMoney&#39;, width: 87,title: &#39;交易金额&#39;,templet:&#39;#cashDepositTpl&#39;}
            , {field: &#39;sdTime&#39;, minWidth: 87, title: &#39;交易时间&#39;}
            , {field: &#39;sdType&#39;, width: 300,title: &#39;交易类型&#39;, templet: &#39;#sdTypeTpl&#39;}
            , {field: &#39;sdWater&#39;, minWidth: 120, title: &#39;交易流水编号&#39;}
            , {field: &#39;orderFormEntity&#39;, minWidth: 68,title: &#39;订单号&#39;, templet: &#39;#orderFormTpl&#39;}
        ]],
        url:&#39;${WEB_URL}terraceZL/getList&#39;,
        page: true,
        even: false,
        height: &#39;full-90&#39;,
        request: {
            pageName: &#39;page&#39; //页码的参数名称,默认:page
            , limitName: &#39;limit&#39; //每页数据量的参数名,默认:limit
        },
        limit: 50,
        done: function (res, curr, count) {
            layer.close(loading);
        }
    });

   
  

    form.on(&#39;submit(uploadImg)&#39;, function(data){
        loading = layer.load(1, {shade: [0.3, &#39;#fff&#39;]});
        var $ = layui.jquery;
        var excel = layui.excel;
        $.ajax({
            url: &#39;${WEB_URL}sellDeal/getTreeList&#39;,
            dataType: &#39;json&#39;,
            data: {
                datas:JSON.stringify(data.field)
            },
            success: function(res) {
                layer.close(loading);
                layer.msg(res.msg);
                // 假如返回的 res.data 是需要导出的列表数据
                console.log(res.data);//
                // 1. 数组头部新增表头
                res.data.unshift({sdId: &#39;ID&#39;,sdMoney: &#39;交易金额&#39;,sdTime:&#39;交易时间&#39;,type:&#39;交易类型&#39;,sdWater:&#39;交易流水编号&#39;,order:&#39;订单号&#39;});
                // 3. 执行导出函数,系统会弹出弹框
                excel.exportExcel({
                    sheet1: res.data
                }, &#39;平台流水.xlsx&#39;, &#39;xlsx&#39;);
            },
            error:function(res){
                layer.close(loading);
                layer.msg(res.msg);
            }
        });
    });
});

Controller:
@RequestMapping("/getList")
    @ResponseBody
    public Object getList(HttpServletRequest request, Model model) {

        model.addAttribute("WEB_URL", ServiceUrl.WEB_URL);
        model.addAttribute("WEB_NAME", ServiceUrl.WEB_NAME);

        Map<String, Object> paramsMap = JSONObject.parseObject(request.getParameter("datas"), Map.class);
        if (paramsMap == null) {
            paramsMap = new HashMap<String, Object>();
        }

        Map<String, Object> map = new HashMap<String, Object>();

        try {
            List<SellDealEntity> mList = new ArrayList<SellDealEntity>();
            Integer count = sellDealService.getCountZL(paramsMap);

            List<SellDealExcelEntity> list = new ArrayList<>();
            if (count > 0) {
                //查询所有数据
                mList = sellDealService.getListExcel(paramsMap);
                for (SellDealEntity sellDealEntity : mList) {
                    //自定义一个新实体类,定义好要导出来的字段,把遍历出来的数据存放到一个新的list,因为会出现关联表的数据
                    SellDealExcelEntity sellDeal = new SellDealExcelEntity();
                    sellDeal.setSdId(sellDealEntity.getSdId());
                    sellDeal.setShopName(sellDealEntity.getSellEntity().getShopName());
                    sellDeal.setSdTime(sellDealEntity.getSdTime());
                    //时间格式可能不对,备用
//                DateFormat format=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//                String time = format.format(sellDealEntity.getSdTime());
                    //根据类型 set 对应的值
                    switchType(sellDealEntity,sellDeal);
                    sellDeal.setSdWater(sellDealEntity.getSdWater());
                    //判断如果订单是null,就set " - "
                    if (sellDealEntity.getOrderFormEntity()==null){
                        sellDeal.setOrder("-");
                    }else {
                        sellDeal.setOrder(sellDealEntity.getOrderFormEntity().getOfOrder());
                    }
                    list.add(sellDeal);
                }
            }

            map.put("code", 0);
            map.put("msg", "导出成功");
            map.put("count", count);
            map.put("data", list);
        }catch (Exception e){
            map.put("code", 1);
            map.put("msg", "导出失败,请稍后重试!");
        }


        return JSON.toJSON(map);
    }

    private void switchType(SellDealEntity sellDealEntity,SellDealExcelEntity sellDeal) {
        switch (sellDealEntity.getSdType()) {
            case 0:
                sellDeal.setType("订单收益");
                sellDeal.setSdMoney("+"+sellDealEntity.getSdMoney().toString());
                break;
            case 1:
                sellDeal.setType("售后退款");
                sellDeal.setSdMoney("-"+sellDealEntity.getSdMoney().toString());
                break;
            case 2:
                sellDeal.setType("缴纳保证金");
                sellDeal.setSdMoney("+"+sellDealEntity.getSdMoney().toString());
                break;
            case 3:
                sellDeal.setType("保证金充值");
                sellDeal.setSdMoney("+"+sellDealEntity.getSdMoney().toString());
                break;
            case 4:
                sellDeal.setType("保证金扣除");
                sellDeal.setSdMoney("-"+sellDealEntity.getSdMoney().toString());
                break;
            case 5:
                sellDeal.setType("余额提现");
                sellDeal.setSdMoney("-"+sellDealEntity.getSdMoney().toString());
                break;
            case 6:
                sellDeal.setType("保证金提现");
                sellDeal.setSdMoney("-"+sellDealEntity.getSdMoney().toString());
                break;
            case 7:
                sellDeal.setType("保证金提现手续费");
                sellDeal.setSdMoney("+"+sellDealEntity.getSdMoney().toString());
                break;
            case 8:
                sellDeal.setType("余额提现手续费");
                sellDeal.setSdMoney("+"+sellDealEntity.getSdMoney().toString());
                break;
            case 9:
                sellDeal.setType("订单服务费");
                sellDeal.setSdMoney("+"+sellDealEntity.getSdMoney().toString());
                break;
            default:
                sellDeal.setType("暂无类型");
                sellDeal.setSdMoney("0");
        }
    }
Nach dem Login kopieren

Wenn es Ihnen etwas ausmacht, wenn Sie eine neue Entität definieren, ist dies der Fall ist am besten zu definieren Der Typ der Zeichenfolge ist einfacher zu handhaben.

Verwandte Empfehlungen: Laui-Framework

Das obige ist der detaillierte Inhalt vonSo exportieren Sie eine Excel-Tabelle mit dem Laui-Framework. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Crossplay haben?
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Schritte zum Anpassen des Formats von Bildern, die in PPT-Tabellen eingefügt werden Schritte zum Anpassen des Formats von Bildern, die in PPT-Tabellen eingefügt werden Mar 26, 2024 pm 04:16 PM

1. Erstellen Sie eine neue PPT-Datei und nennen Sie sie als Beispiel [PPT-Tipps]. 2. Doppelklicken Sie auf [PPT-Tipps], um die PPT-Datei zu öffnen. 3. Fügen Sie als Beispiel eine Tabelle mit zwei Zeilen und zwei Spalten ein. 4. Doppelklicken Sie auf den Rand der Tabelle. Die Option [Design] wird in der oberen Symbolleiste angezeigt. 5. Klicken Sie auf die Option [Schattierung] und dann auf [Bild]. 6. Klicken Sie auf [Bild], um das Dialogfeld mit den Fülloptionen mit dem Bild als Hintergrund aufzurufen. 7. Suchen Sie im Verzeichnis nach dem Fach, das Sie einfügen möchten, und klicken Sie auf „OK“, um das Bild einzufügen. 8. Klicken Sie mit der rechten Maustaste auf das Tabellenfeld, um das Einstellungsdialogfeld aufzurufen. 9. Klicken Sie auf [Zellen formatieren] und aktivieren Sie [Bilder als Schattierung anordnen]. 10. Stellen Sie [Zentrieren], [Spiegeln] und andere benötigte Funktionen ein und klicken Sie auf OK. Hinweis: Standardmäßig werden Bilder in die Tabelle eingefügt

So legen Sie den WPS-Wert fest, um die Farbe entsprechend den Bedingungen automatisch zu ändern. Schritte zum Festlegen des WPS-Tabellenwerts, um die Farbe entsprechend den Bedingungen automatisch zu ändern So legen Sie den WPS-Wert fest, um die Farbe entsprechend den Bedingungen automatisch zu ändern. Schritte zum Festlegen des WPS-Tabellenwerts, um die Farbe entsprechend den Bedingungen automatisch zu ändern Mar 27, 2024 pm 07:30 PM

1. Öffnen Sie das Arbeitsblatt und suchen Sie die Schaltfläche [Start]-[Bedingte Formatierung]. 2. Klicken Sie auf „Spaltenauswahl“ und wählen Sie die Spalte aus, zu der die bedingte Formatierung hinzugefügt werden soll. 3. Klicken Sie auf die Schaltfläche [Bedingte Formatierung], um das Optionsmenü aufzurufen. 4. Wählen Sie [Bedingte Regeln hervorheben]-[Zwischen]. 5. Geben Sie die Regeln ein: 20, 24, dunkelgrüner Text mit dunkler Füllfarbe. 6. Nach der Bestätigung werden die Daten in der ausgewählten Spalte entsprechend den Einstellungen mit entsprechenden Zahlen, Text und Zellenfeldern eingefärbt. 7. Bedingte Regeln ohne Konflikte können wiederholt hinzugefügt werden, aber bei widersprüchlichen Regeln ersetzt WPS die zuvor festgelegten bedingten Regeln durch die zuletzt hinzugefügte Regel. 8. Fügen Sie die Zellspalten wiederholt nach [Zwischen] Regeln 20-24 und [Weniger als] 20 hinzu. 9. Wenn Sie die Regeln ändern müssen, können Sie die Regeln einfach löschen und dann zurücksetzen.

So richten Sie Jump on Laui-Anmeldeseite ein So richten Sie Jump on Laui-Anmeldeseite ein Apr 04, 2024 am 03:12 AM

Schritte zur Sprungeinstellung der Layui-Anmeldeseite: Sprungcode hinzufügen: Fügen Sie im Anmeldeformular ein Beurteilungsereignis hinzu, klicken Sie auf die Schaltfläche „Senden“ und springen Sie nach erfolgreicher Anmeldung über window.location.href zur angegebenen Seite. Ändern Sie die Formularkonfiguration: Fügen Sie dem Formularelement von „lay-filter="login" ein verstecktes Eingabefeld mit dem Namen „redirect“ und dem Wert der Zielseitenadresse hinzu.

Wissen Sie, wie man eine Word-Tabelle zusammenfasst? Wissen Sie, wie man eine Word-Tabelle zusammenfasst? Mar 21, 2024 pm 01:10 PM

Manchmal stoßen wir auf Zählprobleme in Word-Tabellen. Wenn solche Probleme auftreten, kopieren die meisten Schüler die Word-Tabelle zur Berechnung in die Hand. Gibt es eine schnelle Möglichkeit, es zu berechnen? Natürlich gibt es das, tatsächlich lässt sich die Summe auch in Word berechnen. Wissen Sie also, wie es geht? Lasst uns heute gemeinsam einen Blick darauf werfen! Freunde in Not sollten es kurzerhand schnell abholen! Schrittdetails: 1. Zuerst öffnen wir die Word-Software auf dem Computer und öffnen das zu bearbeitende Dokument. (Wie im Bild gezeigt) 2. Als nächstes positionieren wir den Cursor auf der Zelle, in der sich der summierte Wert befindet (wie im Bild gezeigt), und klicken dann auf [Menüleiste

So erhalten Sie Formulardaten in Laui So erhalten Sie Formulardaten in Laui Apr 04, 2024 am 03:39 AM

Layui bietet eine Vielzahl von Methoden zum Abrufen von Formulardaten, einschließlich des direkten Abrufens aller Felddaten des Formulars, des Abrufens des Werts eines einzelnen Formularelements, der Verwendung der formAPI.getVal()-Methode zum Abrufen des angegebenen Feldwerts, der Serialisierung der Formulardaten usw Wenn Sie es als AJAX-Anforderungsparameter verwenden und das Formularübermittlungsereignis abhören, werden Daten abgerufen.

Was sind die Tipps für Anfänger zum Erstellen von Formularen? Was sind die Tipps für Anfänger zum Erstellen von Formularen? Mar 21, 2024 am 09:11 AM

Wir erstellen und bearbeiten Tabellen oft in Excel, aber als Neuling, der gerade erst mit der Software in Berührung gekommen ist, ist die Verwendung von Excel zum Erstellen von Tabellen nicht so einfach wie für uns. Im Folgenden führen wir einige Übungen zu einigen Schritten der Tabellenerstellung durch, die Anfänger, also Anfänger, beherrschen müssen. Wir hoffen, dass sie für Bedürftige hilfreich sind. Unten sehen Sie ein Beispielformular für Anfänger: Mal sehen, wie man es ausfüllt! 1. Es gibt zwei Methoden, ein neues Excel-Dokument zu erstellen. Sie können mit der rechten Maustaste auf eine leere Stelle in der Datei [Desktop] – [Neu] – [xls] klicken. Sie können auch [Start]-[Alle Programme]-[Microsoft Office]-[Microsoft Excel 20**] wählen. 2. Doppelklicken Sie auf unser neues Ex

So übertragen Sie Daten in Laui So übertragen Sie Daten in Laui Apr 26, 2024 am 03:39 AM

Die Methode zur Verwendung von Laui zum Übertragen von Daten ist wie folgt: Verwenden Sie Ajax: Erstellen Sie das Anforderungsobjekt, legen Sie die Anforderungsparameter (URL, Methode, Daten) fest und verarbeiten Sie die Antwort. Integrierte Methoden verwenden: Vereinfachen Sie die Datenübertragung mit integrierten Methoden wie $.post, $.get, $.postJSON oder $.getJSON.

Wie Laui Selbstanpassung umsetzt Wie Laui Selbstanpassung umsetzt Apr 26, 2024 am 03:00 AM

Ein adaptives Layout kann mithilfe der Responsive-Layout-Funktion des Laui-Frameworks erreicht werden. Die Schritte umfassen: Referenzieren des Laui-Frameworks. Definieren Sie einen adaptiven Layout-Container und legen Sie die Klasse „layui-container“ fest. Verwenden Sie reaktionsfähige Haltepunkte (xs/sm/md/lg), um Elemente unter bestimmten Haltepunkten auszublenden. Geben Sie die Elementbreite mithilfe des Rastersystems (layui-col-) an. Abstand über Offset erzeugen (layui-offset-). Verwenden Sie reaktionsfähige Dienstprogramme (layui-invisible/show/block/inline), um die Sichtbarkeit von Elementen und deren Darstellung zu steuern.

See all articles