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 1. Datenbankbetrieb 2. Datenty...
Laden Sie zuerst die Version 15.1 von VMware Work...
In diesem Artikelbeispiel wird der spezifische Co...
Die Tabellenstruktur ist wie folgt: Ich würde var...
Inhaltsverzeichnis Einführung Frage Design 1: Adj...
Obwohl Microsoft später viel Forschung und Entwick...
Zusammenfassung: Nginx-Reverse-Proxy für JIRA kon...
Ich habe vorher ein Testprogramm geschrieben, in d...
Vorwort Meine Anforderungen sind Syntaxhervorhebu...
Dieses Skript kann die Vorgänge zum Starten, Stop...
Lassen Sie uns zunächst einige gängige Anwendungs...
Ich habe den Computer neu installiert und die neu...
Inhaltsverzeichnis 1. Schnittstelle zusammenführe...
Vorwort Das Schreiben effizienter SQL-Anweisungen...
Inhaltsverzeichnis Vorwort Einrichten der Protoko...