とある要望によりUnity Excel Importer Makerをマルチシートに対応てみた。 これで1個のxlsファイルに複数のシートを積み込める。
今までのExcelImporterは2枚目以降のデータは計算用と割り切っていたが、現バージョンではシートのフォーマットが同じならばチェックを入れたシートも読みこむように設定する。
シートの保持方法は「シートをリストに保存する方法」と「複数のScriptableObjectに分割」を用意した。ScriptableObjectを分割した方がデータが大きい時に便利だが、ファイルの管理的に分割しないほうが楽な気もする。
sepalate sheetにチェックがなければ一つのScriptableObject、チェックが付いていれば複数のScriptableObjectに分割する。
一つに統合されている場合、シートはsheetsに格納される。
なので、以下の様な形でシートを取得するのが良さそうだ。
逆にsepalate sheetで分割する場合は、Resourcesフォルダにxlsフォルダを配置してからインポーターを作成しておくと、以下の様な形で読み込むことが出来る(xlsはunity対応型では無い為、アプリには含まれない)[SerializeField]Entity_param book;
// 中略
var sheet = book.sheets.Find( (s) => s.name.Equals("item1"));
var sheet = Resources.Load("item1") as Entity_param ;
[Unity]Excelでデータを管理してUnity iOS/Androidで使うワークフローをノーコーディングで使えるようにした
[Unity]Unity-Excel-Importer-Maker 配列型に対応