プレゼンテーション層ここでは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 のインストールと設定のグラフィックチュートリアル
目次1. Vueフロントエンドを構成する1. クロスドメイン構成を開発する2. 本番環境のクロスドメ...
3 ノード MGR 内の 1 つのノードに異常があり、MGR クラスターに再度追加する必要があるとし...
同僚から助けを求められました。バックエンド システムへのログインは成功したものの、システムには正常に...
序文MySQL には次の 4 種類の演算子があります。算術演算子比較演算子論理演算子ビット演算子これ...
方法1: SET PASSWORDコマンドを使用する mysql -u ルート mysql> ...
序文場合によっては、第 1 正規形設計パターンに従わないビジネス テーブルに遭遇することがあります。...
1. 環境と関連ソフトウェア仮想マシン: VMwore Workstation Linuxシステム:...
目次例示する1. ブロブオブジェクト2. フロントエンド3. バックエンド要約する例示する最近、ファ...
JD カルーセルは、動的な効果を追加せず、主に位置決めの知識を使用して、純粋な HTML と CS...
1. 問題の原因友人の @水米田 から、POSITION に基づくマスタースレーブについて質問があり...
01. 無限フォントのダウンロード02. バンダフォントのダウンロード03. ロールアップフォントの...
背景レプリケーションはデータの完全なコピーです。レプリケーションが必要な理由として、まず思い浮かぶの...
この記事では、音楽プレーヤーを実装するためのVue.jsの具体的なコードを参考までに共有します。具体...
これは Element UI の読み込みコンポーネントのエフェクトです。かっこいいですね。実装してみ...
今日、VMware を使用してマシンに新しい仮想マシンをインストールしていたところ、次のように「この...