JavaScriptでExcelファイルを解析する方法は?
-
06-07-2019 - |
質問
Excelファイルを受け取り、内容を解析してからデータを別のデータセットと比較する小さなWebツールを作成しようとしています。これはJavaScriptで簡単にできますか?これを行うJavaScriptライブラリはありますか?
解決
最初にどのようにファイルをJavaScriptにロードしますか?
さらに、Excelは独自の形式であり、長年の開発を経てサーバー側のライブラリ( Apache POIなど) )これらのMicrosoftフォーマットを100%リバースエンジニアリングすることができていません。
だから答えはできないと思う。
更新:これは純粋なJavaScriptです。
更新2: JavaScriptでファイルをロードできるようになりました: https://developer.mozilla.org/en-US/docs/DOM/FileReader
他のヒント
過去4年間、多くの進歩がありました。 HTML5 File APIは主要なブラウザーベンダーに採用されており、パフォーマンスの向上により、実際にはブラウザーでExcelファイル(xlsとxlsxの両方)を解析できるようになりました。
このスペースの私のエントリ:
どちらもpure-JSパーサーです
jsですべてを実行するには、ActiveXを使用する必要があります。おそらく、Office Webコンポーネントも使用する必要があります。単なる提案ですが、おそらくこのルートには行きたくないでしょう。効率が悪く、IE / Winのみです。サーバーベースのソリューションの方が良いでしょう。
ActiveXを使用して(AJAXの使用についてはW3C Schoolsを参照)、ホストコンピューターのDataconnectors(ファイルをホストしているコンピューターのみ)にファイルを登録する必要があります。前述の方法とは異なり、この方法はMicrosoftプラットフォームに依存せず(クライアント用)、Officeコンポーネントをインストールする必要はありません。
これは、MDBを含むWindowsに登録されているほとんどのデータファイルに対して実行でき、目的に応じて異なるWindowsアカウントを割り当てることができるため、必要なだけ制御できます。
前述したように、これらはすべてサーバー側であり、資格情報、アクションなどを取得することを除いて、クライアントには影響しません。
このメソッドはJavaScript、SQL(いいえ、MSSQLでもなく、SQL標準のみ)を使用し、ホストコンピューターで任意のMicrosoft NTプラットフォームが実行されていることのみが必要です。
Windowsデータコネクタが行うことは、DirectXがビデオカードやその他の周辺機器に対して行うのと同様に、さまざまなデータコンポーネントに対して一般化されたインターフェイスを提供することです。また、MDB(Microsoft Access)をMySQLサーバーにリンクし、その方法でデータをライブでフィードすることもできます。XLSスプレッドシートを使用するよりも簡単だと思います。特にXLSをMDBにインポートできるためです。
Excelファイルが本当に必要ですか Excelを使用してデータをCSVまたはXMLでエクスポートし、ロードしてみませんか?
Excelファイル形式は、Excelの実装に非常に固有です。データのみが必要な場合は、データのみを含むファイル形式を使用します。