テラシュールブログ

旧テラシュールウェアブログUnity記事。主にUnityのTipsやAR・VR、ニコニコ動画についてのメモを残します。

Unity-Excel-Importer-Makerのマルチシートに対応

とある要望によりUnity Excel Importer Makerをマルチシートに対応てみた。 これで1個のxlsファイルに複数のシートを積み込める。

スクリーンショット 2013-11-23 14.47.46

Unity-Excel-Importer-Maker

今までのExcelImporterは2枚目以降のデータは計算用と割り切っていたが、現バージョンではシートのフォーマットが同じならばチェックを入れたシートも読みこむように設定する。

スクリーンショット 2013-11-23 14.06.38

シートの保持方法は「シートをリストに保存する方法」と「複数のScriptableObjectに分割」を用意した。ScriptableObjectを分割した方がデータが大きい時に便利だが、ファイルの管理的に分割しないほうが楽な気もする。

スクリーンショット 2013-11-23 14.32.02

sepalate sheetにチェックがなければ一つのScriptableObject、チェックが付いていれば複数のScriptableObjectに分割する。

スクリーンショット 2013-11-23 14.37.56 スクリーンショット 2013-11-23 14.37.22

一つに統合されている場合、シートはsheetsに格納される。
なので、以下の様な形でシートを取得するのが良さそうだ。

[SerializeField]Entity_param book;
// 中略
var sheet = book.sheets.Find( (s) => s.name.Equals("item1"));

逆にsepalate sheetで分割する場合は、Resourcesフォルダにxlsフォルダを配置してからインポーターを作成しておくと、以下の様な形で読み込むことが出来る(xlsはunity対応型では無い為、アプリには含まれない)

var sheet = Resources.Load("item1"as Entity_param ;



[Unity]Excelでデータを管理してUnity iOS/Androidで使うワークフローをノーコーディングで使えるようにした
[Unity]Unity-Excel-Importer-Maker 配列型に対応