[MUI][React][TypeScript]Windowsの指定したローカルフォルダにCSVファイルを作成したい

実現したいこと

下記【環境】下の開発において、
ある画面で【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 コメント