Excel编辑器工具
Excel介绍
1.Excel的本质:Excel表本质上也是一堆数据,只不过它有自己的存储读取规则,如果我们想要通过代码读取它,那么必须知道它的存储规则,官网是专门提供了对应的DLL文件用来解析Excel文件的;
2.获取Excel数据信息的意义:
- 可以根据表中数据来动态的生成相关数据,如数据结构类、容器类、二进制数据类;
- 转成二进制数据也可以提升读取效率,提升数据安全性;
Excel官方工具使用
//主要知识点:
//1.FileStream读取文件流
//2.IExcelDataReader类,从流中读取Excel数据
//3.DataSet 数据集合类 将Excel数据转存进其中方便读取
//4.DataTable 数据表类 表示Excel文件中的一个表
//5.DataRow 数据行类 表示某张表中的一行数据
[MenuItem("GameTool/读取Excel里的具体信息")]
private static void ReadExcel()
{
using (FileStream fs = File.Open(Application.dataPath + "/ArtRes/Excel/PlayerInfo.xlsx", FileMode.Open, FileAccess.Read))
{
IExcelDataReader excelReader = ExcelReaderFactory.CreateOpenXmlReader(fs);
DataSet result = excelReader.AsDataSet();
for (int i = 0; i < result.Tables.Count; i++)
{
//得到其中一张表的具体数据
DataTable table = result.Tables[i];
Debug.Log("表名:" + result.Tables[i].TableName);
Debug.Log("行数:" + result.Tables[i].Rows.Count);
Debug.Log("列数:" + result.Tables[i].Columns.Count);
//得到其中一行的数据
DataRow row = table.Rows[0];
//得到行中某一列的信息
Debug.Log(row[1].ToString());
DataRow row;
for (int j = 0; j < table.Rows.Count; j++)
{
//得到每一行的信息
row = table.Rows[j];
Debug.Log("*********新的一行************");
for (int k = 0; k < table.Columns.Count; k++)
{
//得到每一列的信息
Debug.Log(row[k].ToString());
}
}
}
fs.Close();
}
}
制定规则
1.Excel读取规则:
- 数据类型生成要知道字段名,容器(一般字典)要知道主键,二进制要知道从哪行哪列开始;
- 第一行是字段名,第二行是数据类型,第三行容器可以再加一个key表示主键(也可以默认第一列),第四行是中文解释(给策划写的,不会生成进去);
- 下方的表名作为生成的类型名;
Excel工具编写
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 雪夜の自我救赎!
评论
ValineDisqus