【Unity】UnityでExcel データを読み込む方法「Excel Importer Maker」

投稿者: | 2018年12月12日

フィア
カレン、UnityでExcelのデータの読み込みってできないかな?
カレン
できるわよ。でも、結構配列とか色々使ってて扱いにくいかも…
フィア
そうなんだ…RPGとかノベルゲームのデータで

使いたかったんだけど…

カレン
読み込みだけだったらいいのがあるわよ
フィア
ホントに!? 知りたい知りたい!
カレン
じゃじゃーん! その名も「Unity Excel Importer Maker」よ!
フィア
おおっ! それっぽい名前!
カレン
ちょっとテクニカルだけど、頑張ってついてきてね

 

— YouTubeなら9分41秒で学べます ―

 

スポンサーリンク

 

 

目次

 

 

はじめに

C# では「StreamWriter」「WriteLine」といった

Excelに入出力する用のクラスがあります。

 

しかし、セルを指定して使用したり、

一部のセルのみ上書きしたいときなどの処理が意外に難しく、

いまいち上手くいきませんでした。

 

そこで、いろいろ調べてみたところ、

ツイッターで活動している椿さん(@tsubaki_t1)が公開している

「Unity Excel Importer Maker」が便利だったので紹介します。

 

Unity Excel Importer Maker のダウンロード

1、GitHubより「Unity Excel Importer Maker」をダウンロード

以下のリンクを開き、右にある「Clone or download」をクリック。

 

「Download ZIP」より「Unity Excel Importer Maker」をダウンロードして解凍してください。

 

解凍すると「Unity-Excel-Importer-Maker-master」のフォルダが現れるので、

開いてAssets内にある「Terasurware」をプロジェクト内にドラッグ&ドロップしてください。

 

 

2、Excelデータの準備

今回使用するExcelのファイル名は「TestData.xls」です。

拡張子は「xls」にしてください。

もちろん、ファイル名自体は何でもいいです。

 

また、変数名は日本語を使用しないでください。

1行目の単語がそのまま変数名になります。

 

記入が終わりましたら、プロジェクトフォルダにドラッグ&ドロップしてください。

 

 

3、XLS Importer の使用

TestData.xlsを右クリックしてXLS Import Settings をクリックしてください。

 

すると、ExcelImporterウィンドウが現れるので以下を参考にして設定してください。

Class name

Excelをインポートする用のクラスを作成するので、そのスクリプト名です。

変更してもそのままでも構いません。

 

Sepalate sheets

Excel内に複数のシートがある場合、シートごとに読み込むかどうかの設定です。

今回はシートが1枚なのでチェックは外しました。

シート内の1行目のアルファベットは全シートで統一する必要があります。

 

Parameter settings

Excel シートの変数名は入力されていると思います。

右下のタブから型名を設定してください。

 

自動で型名が設定されているわけではないので、

ここは必ずチェックしてください

 

「Create」すると、Terasurware/Classes内に「Entry_Sheet1.cs」、

Terasurware/Classes/Editor内に「TestData_importer.cs」が生成されます。

 

これらの名前は各自使用しているファイル名によって異なります。

 

4、Assetファイルの生成

Assset内のTestData.xlsをもう一度右クリックして「Reimport」すると、「TestData.asset」が生成されます。

 

 

TestData.assetを「Resources」フォルダへ移してください。

もし、Resourcesフォルダが無い場合は作成してください。

 

続いて、Terasurware/Classes/Editor内の「TestData_importer.cs」を開いてください。

 

TestData.assetファイルを移動させたので、

パスを変更していきます。

 

exportPath = “Assets/TestData.asset”;を

exportPath = “Assets/Resources/TestData.asset”; に変更してください。

 

 

5、Excel データの取得

 

まず、「using System; 」「using System.IO;」を追加してください。

 

次に、「Entity_Sheet1 es; 」でEntity_Sheet1を取得。

 

ResourcesフォルダからTestData.assetファイルを読み込み。

 

sheets[0]で一枚目のシートを指定し、

list[0]で2行目のデータを選択し、

numberでnumberの列のデータを取得します。

 

 

おわりに

フィア
手順通りやったらとりあえず上手くいったよ!
カレン
ちょっと手順長かったけど、よかったら試してみてね!

 

忙しい人のためのUnity入門講座へ戻る

 

すくまりゲームズの人気記事