Die Betriebsumgebung dieses Tutorials: Windows 7-System, Node.js-Version 12.19.0, DELL G3-Computer. Nodejs-Plugin1. Node-xlsx liest und schreibt Excel Das Importieren und Exportieren von Excel-Dateien ist in vielen Systemen ein häufiges Problem, und NodeJS ist keine Ausnahme. Jetzt werden wir NodeJS zum Lesen und Schreiben von Excel-Dateien verwenden. In NodeJS verwenden wir zum Lesen und Schreiben von Dateien ein Drittanbietertool namens node-xlsx. Dieses Modul unterstützt sowohl das Excel-Format 2003 (.xls) als auch das Excel-Format 2007 (.xlsx). Schauen wir uns nun die spezifische Funktionsweise dieses Moduls an Lesevorgänge in Excel Zuerst müssen wir dieses Modul installieren cnpm installiere node-xlsx --save Der zweite Schritt besteht darin, das Modul zu importieren und die Excel-Datei zu lesen const xlsx=erfordern('node-xlsx');const DBUtil=erfordern('./utils/DBUtil.js');const fs=erfordern('fs');const path=erfordern('Pfad');Funktion readExcel(Pfad){ var excel=xlsx.parse(Pfad); return excel;}var obj=readExcel(path.join(__dirname,"./files/studentinfo.xls"));console.log(obj[0].data); Der obige Code hat den Lesevorgang der Excel-Datei abgeschlossen. Zu diesem Zeitpunkt lesen wir ein Objekt aus und können die darin enthaltenen Informationen in der Konsole sehen Schreiben in Excel Nun zeigen wir, wie man die Informationen einer Tabelle in der Datenbank liest und auf dem lokalen Computer speichert. Der Code lautet wie folgt const excel=erfordern('node-xlsx');const fs=erfordern('fs');const path=erfordern('Pfad');const DBUtil=erfordern('./utils/DBUtil.js');Funktion writeExcel(){ var conn=DBUtil.getConn(); conn.query("Wählen Sie * aus Studenteninfo",[],(Fehler,Ergebnis)=>{ wenn(fehler){ } anders{ var excelArr = []; var headerRow=[]; für(var i in result[0]){ headerRow.push(i); } excelArr.push(headerRow); für(var i=0;i<Ergebnis.Länge;i++){ vartemp=[]; für(var j=0;j<headerRow.length;j++){ temp.push(Ergebnis[i][Headerzeile[j]]); } excelArr.push(temp); } versuchen { var buff=excel.build([{name:'Studenteninformationen',data:excelArr}]); fs.writeFileSync(Pfad.join(__dirname,"./files/01.xlsx"),buff); console.log("ok"); } Fehler abfangen { console.log(fehler); } } }); conn.end();}writeExcel(); Hier stellen wir fest, dass das Schreiben in Excel etwas mühsam ist, da wir hier die in der Datenbank erhaltenen Ergebnisse neu kombinieren und dann Excel generieren müssen Überlegen Sie einmal: Dürfen Benutzer im Express-Framework die generierte Excel-Datei wie folgt herunterladen und lokal speichern? 2. Nodemailer versendet E-Mails Nodejs bietet viele Anwendungsszenarien zum Senden von E-Mails an Benutzer. Beispielsweise sehen wir häufig, dass nach der Registrierung eines Benutzers eine Registrierungsnachricht an das registrierte Postfach des Benutzers gesendet wird. Wenn wir diese Funktion derzeit ausführen möchten, müssen wir ein Drittanbietermodul von Nodemailer verwenden. Die spezifischen Verwendungsschritte sind wie folgt: Installieren Sie das entsprechende Modul $ cnpm installiere nodemailer --asve $ Garn fügt Nodemailer hinzu Importieren Sie das Modul und vervollständigen Sie den Code const nodemailer = erfordern('nodemailer'); var transport = nodemailer.createTransport({ Dienst: "qq", Autorisierung: Benutzer: „[email protected]“, Pass: „peshapwpokgvcahe“ }});var Optionen={ von:"[email protected]", an: „[email protected]“, Betreff: „Dies ist eine von Nodemailer gesendete E-Mail-Nachricht“, Text: „Dies ist eine E-Mail-Nachricht, die von Nodemailer gesendet wurde“ + (new Date()).toLocaleString(), html:"<h2>Dies ist eine Test-E-Mail von <u>nodemail</u>...</h2>"}; transport.sendMail(options,(err,info)=>{ wenn(fehler){ console.log(fehler); } anders{ konsole.log(info); }}); Meldung nach erfolgreichem Versand { akzeptiert: [ '[email protected]' ], abgelehnt: [], Umschlagzeit: 221, NachrichtZeit: 830, Nachrichtengröße: 801, Antwort: '250 Ok: in die Warteschlange gestellt als ', Umschlag: { Von: '[email protected]', An: [ '[email protected]' ] }, Nachrichten-ID: '<[email protected]>' } Solange das Programm zu diesem Zeitpunkt unsere Sendeanforderung an dieser Stelle abschließen kann, gibt es die oben genannten Informationen zurück. Wenn die oben genannten Informationen nicht angezeigt werden, müssen wir den hier zurückgegebenen Fehler überprüfen. Hinweis: Beim Konfigurieren des Sendeservers können wir einen Drittanbieterserver oder einen integrierten Server verwenden. Denken: Wenn der gesendete Inhalt durch eine Vorlage ersetzt wird const fs = erfordern('fs'); const path = erfordern('Pfad'); Klasse MailTemplateModel { Konstruktor(Benutzername,u_id,registerTime,mail){ this.userName=Benutzername; dies.u_id=u_id; this.registerTime=Registerzeit; diese.mail=mail; } zuString(){ var str = `Sehr geehrter ${this.userName}, hallo! Willkommen, registrieren Sie sich als unser Mitglied. Ihr Konto ist ${this.u_id} und Ihre Registrierungszeit ist: ${this.registerTime}. Bitte bewahren Sie Ihr Konto und Passwort sicher auf. Wenn Sie Fragen haben, senden Sie bitte eine E-Mail an ${this.mail}! Danke! Ich wünsche Ihnen ein glückliches Leben! `; gibt str zurück; }}module.exports=MailTemplateModel; Der obige Code kapselt den Inhalt der zu sendenden E-Mail in ein Objekt und verwendet dann eine Vorlagensyntax zum Verketten von Zeichenfolgen. Denken Sie darüber nach: Wir schreiben den Inhalt der gesendeten E-Mail in eine separate externe TXT-Datei und implementieren ihn dann durch Ersetzen des String-Objekts. Wie implementiert man diese Funktion? 3. untergeordneter Prozess Kann einen Unterprozess erstellen und Shell-Skripte ausführen. 4. Knoten-Lesbarkeit Ein Plugin, das Website-Inhalte in einfache Inhalte umwandeln kann. 5. Verbinden Tatsächlich verwendet auch Express dieses Plug-In, und Sie können mit Connect auch Webprogramme schreiben. 6. Express-Sitzung Dies ist ein Sitzungs-Plugin. Die Standardeinstellung ist „für immer“, was sich von den 30 Minuten bei Tomcat unterscheidet. Sie müssen das Timeout also selbst festlegen. 7. Basic-Auth-Plugin Wird für die einfachste Authentifizierungsmethode verwendet, die im Allgemeinen in API-Anfragen verwendet wird. 8. bcryptjs-Plugin (meldet immer einen Fehler während der bcrypt-Installation) Wird verwendet, um die Hash-Verarbeitung mit Salt durchzuführen. 9. Reptiliensammlung: (1) Crawlen statischer Seiten und API-Daten: request+cheerio/jsdom. Request ist eine Anforderungsbibliothek, die Beiträge anfordern und Informationen abrufen kann. Nach dem Abrufen der HTML-Daten können diese mithilfe einer Analysebibliothek eines Drittanbieters wie Cheerio analysiert werden. Für dynamisch gerenderte Seiten mit JS können Sie die Verwendung von jsdom in Betracht ziehen, aber leider ist dies synchron und schließlich kein Browser. (2) Crawling dynamisch dargestellter Seiten Puppeteer: verwendet den Chromium-Browser, asynchrone Anforderungen, hohe Effizienz und öffnet viele Browser-Betriebs-APIs, was sehr praktisch ist. nightmare: Die API ist sehr einfach zu verwenden, wenn man den Browser in Electron verwendet. Obwohl ich sie nicht verwendet habe, finde ich, dass sie nicht so flexibel ist wie Puppeteer. Aufgrund von jsdom:sync habe ich die Verwendung aufgegeben. Dasselbe wie Selen. 10. Moment.js Dies ist eine leichtgewichtige Formatanalysebibliothek. Wenn Sie selbst eine Formatanalysefunktion schreiben, benötigen Sie mehrere Dutzend Zeilen Funktionscode. Das ist sehr praktisch. Dies ist das Ende dieses Artikels über NodeJS-Plug-Ins und deren Verwendung. Weitere Informationen zu NodeJS-Plug-Ins finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen! |
Inhaltsverzeichnis verwendenMemo useCallback verw...
Dieser Artikel beschreibt die MySQL-Integritätsbe...
Welche Informationen möchten Sie erhalten, wenn S...
Als ich mir in letzter Zeit einige CSS3-Animation...
Inhaltsverzeichnis 2. Detaillierte Erklärung 2.1....
Mit dem Befehl „sudo“ kann ein vertrauenswürdiger...
Diese eingeführten HTML-Tags entsprechen nicht un...
nginx Nginx (Engine x) ist ein leistungsstarker H...
Effektanzeige: Controllerknoten zur Umgebungsvorb...
Bei Verwendung eines Cloud-Servers stellen wir ma...
Inhaltsverzeichnis Überblick 1. Pfadmodul 2. Bis ...
1. Globales Objekt Alle Module können aufgerufen ...
Einführung in die Sudo-Autoritätsdelegierung su-S...
Dieser Artikel erläutert anhand von Beispielen da...
Der Browser zeigt Bilder im TIF-Format an Code kop...