プレゼンテーション層ここでは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. 概要2. Nginxインストールパッケージをダウンロードする3. 依存パッケージをインスト...
この記事では、例を使用して、MySQL クエリ条件の一般的な使用方法を説明します。ご参考までに、詳細...
序文この記事では、Vue コンポーネントがどのように解析され、レンダリングされるかを説明します。 V...
この記事では、ログインタイプの切り替えを実装するためのVueの具体的なコードを例として紹介します。具...
HTML 入力属性値属性value 属性は、入力フィールドの初期値を指定します。 <フォーム...
<br />ページに <img src=""> が含まれ...
目次前面に書かれた環境の展開Zookeeper クラスタの展開Clickhouse クラスターの展開...
Robots.txt はプレーンテキスト ファイルであり、Web サイト管理者は、ロボットによるアク...
現在、ほとんどの CPU は浮動小数点ユニット (FPU) をサポートしています。FPU は、プロセ...
この記事の例では、スターフラッシュ効果を実現するためのjsの具体的なコードを参考までに共有しています...
目次MySQL を使い始めるMySQL 管理6. MySQL サーバーを起動および停止します。 7....
MySQL 高度な SQL ステートメント kgc を使用します。 テーブルlocation(Reg...
MySQL エスケープエスケープとは、エスケープ文字の本来の意味を意味します。エスケープ文字の目的は...
1. 1列を変更する 学生の更新、都市c s.city_name = c.name を設定します こ...
ドキュメント オブジェクト モデル (DOM) は、プログラムがドキュメントのコンテンツ、構造、およ...