micomia株式会社の畑井です。
今回は管理画面などによく実装されるCSV出力機能を実装する方法について解説していきます。
マーケットプレイスにはFlutterFlowに導入できる機能がたくさんあります。
ここでは有料ならびに無料でFlutterFlowに導入できる機能がたくさん出品されています。
目次


日本人のkinari KURAMOTOさんが作成された機能になります。
CSV出力機能を簡単に自分のアプリに実装できるパッケージを提供しています。
「+ Add for Free」を押すとアカウントにこのパッケージがインストールされます。

SettingのProject Dependencies→FlutterFlow Librariesにある「Firestore CSV Exporter」を選択してください。

ボタンを置きActionsで「generateAndDownloadCsv」を選択してください。
CollectionのところにはCSV出力したいコレクションの名前を入力してください。

次にCSV出力する際のヘッダーを入力するところがありますが、今回はConstantsにStringのListを設定することで対応します。

今回はサンプルのため3つのヘッダーを設定しました。
ヘッダーは出力には直接関係ないため、出力内容が理解できるようなものを各自設定いただければと思います。

今回設定したConstantsをセットします。
次に入力を求められている「firestoreFieldNames」は実際にFireStoreに定義しているField名を入力してください。
ここで入力するField名のみが出力されます。
また、このField名をStringのListで出力するのもHeaderと同じくConstantsやAppValueなどで定義する流れとなります。

fileNameはお好きな名前を入力してください。
ファイル名に日付を入れたい場合は、オレンジ色のアイコンであるVariableから日付をセットすると可能です。
2.まとめ
今回はFlutterFlowでCSV出力機能を実装しました。
一からCustom Codeで作成することもできますが作成してアップロードしていただいているものを再利用するのがソフトウェア開発では良い考え方とされていますので積極的に再利用を検討しましょう。



.webp%3Falt%3Dmedia%26token%3Da7c14698-1b08-4fea-89c6-f77a9121f4c5&w=3840&q=75)
.webp%3Falt%3Dmedia%26token%3D899eeefd-f4c9-44a6-9ec2-3ced0b223ffd&w=3840&q=75)
.webp%3Falt%3Dmedia%26token%3Dca25fa6b-e233-43f7-90c3-e68e4c5b0bc5&w=3840&q=75)
.webp%3Falt%3Dmedia%26token%3D7f18e5f1-cfda-4148-ab86-b3d2e6547262&w=3840&q=75)




.webp%3Falt%3Dmedia%26token%3D6ca2c2ef-9413-4453-b992-55b66b11ed54&w=3840&q=75)



.webp%3Falt%3Dmedia%26token%3D900f385d-12a2-449b-8d1e-83a57cef0088&w=3840&q=75)
.webp%3Falt%3Dmedia%26token%3D0e802fb0-2dda-44a7-bf80-5d39019635ba&w=3840&q=75)
.webp%3Falt%3Dmedia%26token%3D3fb3dc66-ecca-402e-8fb8-fbec9407f7f5&w=3840&q=75)
.webp%3Falt%3Dmedia%26token%3Ddb21d760-e1ed-4ec2-af28-3462041e31b5&w=3840&q=75)
.webp%3Falt%3Dmedia%26token%3Dcce7bd72-f11e-4292-86bf-e6ccf3e7bf32&w=3840&q=75)
.webp%3Falt%3Dmedia%26token%3D457ff920-e0df-4ff5-95eb-e29f74b73823&w=3840&q=75)
.webp%3Falt%3Dmedia%26token%3Dc21fcc77-7404-458d-9eb5-85b8d84ae1bc&w=3840&q=75)
.webp%3Falt%3Dmedia%26token%3D92052f12-5280-49df-877a-b514582e95db&w=3840&q=75)