第一次写博客,好紧张啊,有没有潜规则,用不用脱啊,该怎么说啊,打多少字才显的有文采啊,我写的这么好会不会太招遥,写的这么深奥别人会不会看不懂啊,好激动啊,怎么才能装成是经常写博客的样子,好紧张啊 ╯△╰
第一篇博客就跟各位同学们分享下如何在unity中制作一个把Excel表格导出成XML和CS脚本的工具吧!
首先说下用到的第三方库:NPOI 具体我就不介绍了,大家自行百度吧!下面附上下载地址:
好了,下面正式开始!
首先打开unity,新建一个工程,在Project窗口右键->Create->C# Script(貌似有点啰嗦了≥﹏≤) ,创建一个cs脚本,命名为ConvertExcelWindow继承EditorWindow放到Assets/Editor文件夹下。下面附上完整代码及注释:
using System;
using UnityEngine;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Text;
using System.Xml;
using NPOI.HSSF.UserModel;
using NPOI.SS.UserModel;
using NPOI.XSSF.UserModel;
using UnityEditor;
using Debug = UnityEngine.Debug;
public class ConvertExcelWindow : EditorWindow
{
//导出脚本路径
public static string scriptPath = "Assets/Scripts/ExcelData";
//导出XML路径
public static string xmlPath = "Assets/Res/Config";
//Excel表格路径(会递归查找所有子目录并导出)
public static string excelRootPath;
//是否导出脚本
private static bool exportScript = true;
//是否导出XML
private static bool exportXml = true;
//创建一个按钮用来打开我们自定义的窗口
[MenuItem("Tools/Convert Excel", false, 1)]
static void ConvertExcel()
{
Rect rect = new Rect(0f, 0f, 500f, 150f);
EditorWindow win = EditorWindow.GetWindowWithRect<ConvertExcelWindow>(rect, true, "Convert Excel", true);
win.Show();
}
//窗口布局写在这个方法里
private void OnGUI()
{
//都是一些简单的控件,就不一行一行写注释了
EditorGUIUtility.labelWidth = 80;
EditorGUILayout.BeginVertical();
GUILayout.Space