プレゼンテーション層ここではantdのUploadアップロードコンポーネントを使用しています antdコードの一部を引用 'antd' から { Button,Table,Upload } をインポートします。 <アップロード {...props} fileList={state.fileList}> <Button type="primary" >Excel インポート</Button> </アップロード> <Button type="primary" onClick={handleExport}>Excel エクスポート</Button> ビジネスレイヤーまず、作品を分析してみましょう。
技術的な詳細は次のとおりです コアプラグイン xlsx xlsx をインストール: 主に使用されるコア API を紹介します。
// ワークブックの理解: { シート名: ['sheet1', 'sheet2'], シート: // ワークシート 'シート1': { // セル 'A1': { ... }, // セル 'A2': { ... }, ... }, // ワークシート 'シート2': { // セル 'A1': { ... }, // セル 'A2': { ... }, ... } } } Excelインポートコアコード: const f = ファイル; const リーダー = 新しい FileReader(); reader.onload = 関数 (e) { 試す{ const データ = e.target.result; const workbook = XLSX.read(datas, {type: "binary",}); //データを解析する const first_worksheet = workbook.Sheets[workbook.SheetNames[0]]; //ワークブックの最初のシートです const jsonArr = XLSX.utils.sheet_to_json(first_worksheet, {header: 1,defval:''}); // ワークブック オブジェクトを JSON オブジェクト配列に変換します handleImpotedJson(jsonArr) // 配列の処理 message.success('Excel アップロードの解析に成功しました!') }キャッチ(e){ message.error('ファイルタイプが正しくありません! またはファイル解析エラーです') } }; リーダー.readAsBinaryString(f); 理解する:
Excelエクスポートコアコード: constダウンロードExcel = () => { const json = handleExportedJson(データ) 定数 sheet = XLSX.utils.json_to_sheet(json); openDownloadDialog(sheet2blob(sheet,"Sheet1"), "ファイル.xls をダウンロード") } const handleExportedJson = (array) =>{...} // Json データを処理 const openDownloadDialog = (url, saveName) =>{...} // ダウンロードを開く const sheet2blob = (sheet, sheetName) =>{...} // BLOB 型に変換する 理解する:
Excel エクスポート プラグイン (js-export-excel)なぜ今まで自分で実装したコードを投稿しなかったのか?それは便利なプラグインを見つけたからです。コードは非常にシンプルです。 コアコード: // ファイルを直接エクスポート let dataTable = []; // Excel ファイルのデータ内容 let option = {}; // オプションは Excel ファイルを表します dataTable = data; // データ ソース option.fileName = "ファイルをダウンロード"; // Excel ファイル名 console.log("data===",dataTable) オプション.データ = [ { sheetData: dataTable, //Excel ファイルのデータ ソースsheetName: 'Sheet1', //Excel ファイル内のシート ページ名sheetFilter: ['id', 'name', 'belong', 'step','tag'], //Excel ファイルに表示される列データsheetHeader: ['project id', 'project name', 'company', 'project stage','project tag'], //Excel ファイル内の各列のヘッダー名} ] let toExcel = new ExportJsonExcel(option); //Excelファイルを生成 toExcel.saveExcel(); //Excelファイルをダウンロード 上記はこのプラグインの基本的な使い方です。Blob のエクスポートや圧縮もサポートしています。詳細については、公式 Web サイトでコア オプションの説明を参照してください。
/*複数のシート*/ /*各シートはオブジェクトです */ [{ sheetData:[], // datasheetName:'', // (オプション) シート名、デフォルトは sheet1 sheetFilter:[], // (オプション) 列フィルター (データがオブジェクトの場合にのみ機能します) sheetHeader:[] // 最初の行、タイトル columnWidths: [] // (オプション) 列の幅、列の順序に対応している必要があります}] ブラウザのサポート: IE 10 以上 デモが Chrome、Safari、IE で動作することをテストしました。 成果を達成する それでも理解できない場合は、GitHubのデモソースコードをご覧ください。 結論これで、React の Excel ファイルのインポートとエクスポートに関するこの記事は終了です。React の Excel のインポートとエクスポートに関する関連コンテンツの詳細については、123WORDPRESS.COM で以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: MySql8.0以降のバージョンでROOTパスワードを正しく変更する方法
>>: Mysql WorkBench のインストールと設定のグラフィックチュートリアル
MySQL挿入時の8時間の時差の問題を解決する通常、jdbc の URL にはいくつかのパラメータを...
この記事では、例を使用して MySQL ビューの管理ビュー操作について説明します。ご参考までに、詳細...
最近、Docker を使用して Java アプリケーションをデプロイしていたときに、タイムゾーンが間...
この記事の例では、双方向データバインディングを実装するためのVueの具体的なコードを参考までに共有し...
目次原理ネットワーク環境の準備インストール前の準備NIS サーバー操作NIS クライアント操作原理N...
目次Vue2.x の使用法グローバル登録部分登録使用フック機能フック関数のパラメータVue3.x の...
1. 問題の症状バージョン: MySQL 5.6、従来の binlog ファイルと pos 方式を使...
導入データベースを使用したことがある人なら、機能面での like 記号と = 記号の類似点と相違点を...
この記事では、9グリッドカット効果を実現するためのキャンバスの具体的なコードを紹介します。具体的な内...
レスポンシブレイアウト開発の基礎知識この章は主に以下の部分に分かれています• レスポンシブデザインを...
React Hooks は React 16.8 で導入された新しい機能で、クラスを使用せずに状態や...
この記事では、例を挙げて mysql show 操作について説明します。ご参考までに、詳細は以下の通...
ステップ1: Ubuntuソースを追加するルートに切り替える suルートソフトウェアソースファイルの...
<br />前回の記事:Webデザイン講座(7):Webページ制作の効率化1:必要な小言...
Windows 64 ビット版 MySQL 5.7 以降の解凍パッケージにデータディレクトリ、my-...