Excelファイルをダウンロードする機能をNodeJsに実装するにはどうすればよいですか?
NodeJsExcel ファイルをダウンロードする機能を実装するにはどうすればよいですか?次の記事で紹介します。一定の参考値があるので、困っている友達が参考になれば幸いです。
[ビデオチュートリアルの推奨: node js チュートリアル]
新しい言語であるため、nodejs のレポート機能はあまり完全ではありません。 。
(1).js-xlsx: 現在、Excel を処理するための Github 上で最も多くのスターを獲得しているライブラリです。複数の形式のテーブル XLSX / XLSM / XLSB / XLS / CSV の解析をサポートしています。解析は次のように実装されています。純粋な js と記述 Excel の生成と書き込みには、nodejs または FileSaver .js を使用する必要があります。サブテーブル Excel を生成できます。これは強力ですが、始めるのが少し難しいです。 Excel テーブル API サンプルのセル幅の基本的な設定は提供されておらず、ドキュメントは少し乱雑で、すぐに始めるのには適していません;
https://github.com/SheetJS/js-xlsx
(2).node-xlsx: Excel ファイル データを解析し、Node.js に基づいて Excel ファイルを生成し、xlsx 形式のファイルのみをサポートします;
https://github.com/mgcrea/node-xlsx
(3 ).excel-parser: Node.js に基づいて Excel ファイル データを解析し、xls および xlsx 形式のファイルをサポートしますが、Python に依存する必要がありますが、重すぎて実用的ではありません;
https://github.com/leftshifters/excel-parser
(4).excel-export: Node.js に基づいてデータを生成し、Excel ファイルにエクスポートします。生成されるファイル形式は xlsx です。セルの幅 API は使いやすい ワークシートの単語を生成できない 比較的シンプルですが、基本的な機能は基本的に満たせます;
https://github.com/functionscope/Node-Excel -Export
(5).node-xlrd: Excel ファイルからの node.js に基づいています データの抽出は、xls 形式のファイルのみをサポートします。xlsx はサポートしません。少し時代遅れで、一般的に使用される形式は XLSX です。
nodejs が最初に登場した数年間、開発者は多くのノード依存関係ライブラリを作成しましたが、そのほとんどは現在メンテナンスされていません。
node-xlsx と Excel-export だけがまだ継続的に更新されています。js-xlsx は大規模で包括的な基本ライブラリです (ただし、現在は利用できません。このライブラリの最大の問題は、API が非常に不親切、学習曲線が高い) 有能なプロジェクト チームは、さらにカプセル化できます。
この記事は、簡単にダウンロードできるデモです。excel-export を使用するだけです。
var express = require('express');var router = express.Router();var server = express(); server.use('/api', router); var nodeExcel = require('excel-export'); const disableLayout ={layout: false}; router.get('/test', function(req, res, next) { res.json({ code:200 }) }) // disable interface layout.hbs user config layout: falserouter.get('/exportExcel/:id', function(req, res, next) { var conf ={}; conf.stylesXmlFile = "styles.xml"; conf.name = "mysheet"; conf.cols = [{ caption:'string', type:'string', beforeCellWrite:function(row, cellData){ return cellData.toUpperCase(); }, width:300 },{ caption:'date', type:'date', beforeCellWrite:function(){ var originDate = new Date(Date.UTC(1899,11,30)); return function(row, cellData, eOpt){ console.log((cellData - originDate)); if (eOpt.rowNum%2){ eOpt.styleIndex = 1; } else{ eOpt.styleIndex = 2; } if (cellData === null){ eOpt.cellType = 'string'; return 'N/A'; } else return (cellData - originDate) / (24 * 60 * 60 * 1000); } }() },{ caption:'bool', type:'bool' },{ caption:'number', type:'number' }]; conf.rows = [ ['pi', '2013-12-5', true, 3.14], ["e", new Date(2012, 4, 1), false, 2.7182], ["M&M<>'", new Date(Date.UTC(2013, 6, 9)), false, 1.61803], ["null date", null, true, 1.414] ]; var result = nodeExcel.execute(conf); res.setHeader('Content-Type', 'application/vnd.openxmlformats'); res.setHeader("Content-Disposition", "attachment; filename=" + encodeURIComponent("导出列表")+".xlsx"); res.end(result, 'binary'); }); router.get('/exportmultisheetExcel/:id', function(req, res, next) { var confs = []; var conf = {}; conf.cols = [{ caption: 'string', type: 'string' }, { caption: 'date', type: 'date' }, { caption: 'bool', type: 'bool' }, { caption: 'number 2', type: 'number' }]; conf.rows = [['hahai', (new Date(Date.UTC(2013, 4, 1))).oaDate(), true, 3.14], ["e", (new Date(2012, 4, 1)).oaDate(), false, 2.7182], ["M&M<>'", (new Date(Date.UTC(2013, 6, 9))).oaDate(), false, 1.2], ["null", null, null, null]]; for (var i = 0; i < 3; i++) { conf = JSON.parse(JSON.stringify(conf)); //clone conf.name = 'sheet'+i; confs.push(conf); } var result = nodeExcel.execute(confs); res.setHeader('Content-Type', 'application/vnd.openxmlformats'); res.setHeader("Content-Disposition", "attachment; filename=" + "Report.xlsx"); res.end(result, 'binary'); });var server=server.listen(8080,function(){ console.log('8080') })
3.excel-export では、数値、時間、true と false 、デフォルトの文字列の 4 種類のデータ形式が提供されます。
cols は列タイプのキャプションを列名に設定できます (最初の行の内容が埋められます)、type は列のデータ型、beforeCellWrite は埋め込む前にデータに対して論理処理を実行でき、幅はワイドバンド
行を 2 桁の配列として定義でき、Excel の内容を行と列に直接入力できます
name はシートの名前を定義します
注目に値します。 Excel-export を定義する必要がある場合 Excel のデフォルト形式は Excel 形式ヘッダーを参照する必要があります。このヘッダーは style.xml で定義されています。このファイルは、node_modules/example/styles.xml のプロジェクトの対応するディレクトリにコピーできます。
この例ではルート ディレクトリを使用しているため、ファイルをルート ディレクトリに配置する必要があります。そうしないと、ファイルが見つからないことが報告されます。
実際の開発では、Excel ファイルを中国語でエクスポートする必要がある場合があります。このとき、ヘッダーを設定し、中国語の言語をフォーマットする必要があります。
res.setHeader('Content-Type ', ' application/vnd.openxmlformats;charset=utf-8');
res.setHeader("Content-Disposition", "attachment; filename=" encodeURIComponent("Export List") ".xlsx");
プログラミング関連の知識について詳しくは、プログラミング入門をご覧ください。 !
以上がExcelファイルをダウンロードする機能をNodeJsに実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Node.js と Tomcat の主な違いは次のとおりです。 ランタイム: Node.js は JavaScript ランタイムに基づいていますが、Tomcat は Java サーブレット コンテナです。 I/O モデル: Node.js は非同期ノンブロッキング モデルを使用しますが、Tomcat は同期ブロッキング モデルです。同時実行処理: Node.js はイベント ループを通じて同時実行を処理しますが、Tomcat はスレッド プールを使用します。アプリケーション シナリオ: Node.js はリアルタイム、データ集約型、同時実行性の高いアプリケーションに適しており、Tomcat は従来の Java Web アプリケーションに適しています。

Node.js はサーバー側の JavaScript ランタイムであり、Vue.js は対話型ユーザー インターフェイスを作成するためのクライアント側の JavaScript フレームワークです。 Node.js はバックエンド サービス API 開発やデータ処理などのサーバー側開発に使用され、Vue.js はシングルページ アプリケーションや応答性の高いユーザー インターフェイスなどのクライアント側開発に使用されます。

Node.js は、高いパフォーマンス、スケーラビリティ、クロスプラットフォーム サポート、豊富なエコシステム、開発の容易さなどの機能を備えているため、バックエンド フレームワークとして使用できます。

Node.js インストール ディレクトリには、npm と npm.cmd という 2 つの npm 関連ファイルがあります。違いは次のとおりです。拡張子が異なります。npm は実行可能ファイルで、npm.cmd はコマンド ウィンドウのショートカットです。 Windows ユーザー: npm.cmd はコマンド プロンプトから使用できますが、npm はコマンド ラインからのみ実行できます。互換性: npm.cmd は Windows システムに固有ですが、npm はクロスプラットフォームで使用できます。使用上の推奨事項: Windows ユーザーは npm.cmd を使用し、他のオペレーティング システムは npm を使用します。

Node.js には次のグローバル変数が存在します。 グローバル オブジェクト: グローバル コア モジュール: プロセス、コンソール、require ランタイム環境変数: __dirname、__filename、__line、__column 定数: unknown、null、NaN、Infinity、-Infinity

はい、Node.js はバックエンド開発言語です。これは、サーバー側のビジネス ロジックの処理、データベース接続の管理、API の提供などのバックエンド開発に使用されます。

Node.js と Java の主な違いは、設計と機能です。 イベント駆動型とスレッド駆動型: Node.js はイベント駆動型で、Java はスレッド駆動型です。シングルスレッドとマルチスレッド: Node.js はシングルスレッドのイベント ループを使用し、Java はマルチスレッド アーキテクチャを使用します。ランタイム環境: Node.js は V8 JavaScript エンジン上で実行され、Java は JVM 上で実行されます。構文: Node.js は JavaScript 構文を使用し、Java は Java 構文を使用します。目的: Node.js は I/O 集中型のタスクに適しており、Java は大規模なエンタープライズ アプリケーションに適しています。

Web 開発において Node.js と Java にはそれぞれ長所と短所があり、どちらを選択するかはプロジェクトの要件によって異なります。 Node.js はリアルタイム アプリケーション、迅速な開発、マイクロサービス アーキテクチャに優れており、Java はエンタープライズ グレードのサポート、パフォーマンス、セキュリティに優れています。
