実現したいこと
下記【環境】下の開発において、
ある画面で【CSV出力】ボタンを押すと、CSVデータを指定されたフォルダに規則的なファイル名(日付時間等含)のCSVファイルを保存(新規作成)する機能を実現させたいです。
前提
【環境】
・WindowsPC
・Node:8.19.3
・MUI(Material UI)5.11.7
・React 18.2.0
・Typescript 4.9.5
上記環境で開発を行っております。
尚、このCSVファイルの中身はMUIのDataGridで表示されているデータを出力する形ではなく、
DataGridで選ばれた行に関する別(DB)テーブルよりデータ取得した内容になります。
まず単純なファイルでのファイル出力でつまずいております。
試してみたこと
様々試しましたが代表的には2パターンを試しました。
① 下記の場合(Webシステムを使ったダウンロード)、
Windowsの「ダウンロードフォルダ」固定でダウンロードされてしまい、
要件を満たしませんでした。
※関数内の処理のみ記載 const blob = new Blob(['テスト用文字'],{type:"text/plain"}); const link = document.createElement('a'); link.href = URL.createObjectURL(blob); link.download = 'filename.txt'; link.click();
② JavaScriptでファイルを作成するスタイル。
import fs from 'fs'; ※関数内で fs.writeFileSync('test.txt', 'Hello!');
他の方法でもfsを使うと、下記のエラーが発生してしまいます。
Module not found: Error: Can't resolve 'fs' in 'ソースファイルの位置'。
Reactでは'fs'は使えない??
上記のような状況で、WindowsPC内の指定フォルダに、ファイルを出力(作成)することが可能なのか?
どのような形で実現ができるのか?教えて頂けますと幸いです。
よろしくお願いいたします。
0 コメント