游戏有大多数配置文件,比如玩家等级,游戏商店信息等等.通常情况下把这些放入excel中来读取

第一种解决方案:

xlsx –> csv –> 改变成UTF-8 或者Unicode编码 –> 修改后缀名成.txt  -> 通过Resources.Load读取转换成TextAsset –> 通过,方式开区分开来

转换成csv(软件采用notepad++)

项目图:

using UnityEngine;
using System.Collections;
using System;
using System.Collections.Generic;
using System.Text; public class Test : MonoBehaviour { private string[] lineArray;
private CSVTable table; public void OnGUI()
{
if (GUI.Button(new Rect(, , , ), "读取Excel"))
{
TextAsset text = (TextAsset)Resources.Load("data", typeof(TextAsset));
lineArray = text.text.Split("\r"[]); table = new CSVTable();
for (int i = ; i < lineArray.Length; i++)
{
table.AddRow(lineArray[i]);
} //输出每行的信息
for (int i = ; i < table.rows.Count; i++)
{
Debug.Log(table.rows[i].ToString());
} Debug.Log("=========================="); //还是输出每行的信息
for (int i = ; i < table.rows.Count; i++)
{
Debug.Log(table.rows[i][] + "-" + table.rows[i][]); } #region 信息输出
/*
string[] row;
string info = string.Empty;
for (int j = 0; j < lineArray.Length; j++)
{
row = lineArray[j].Split(',');
for (int i = 0; i < row.Length; i++)
{
info += "-" + row[i];
} info = info.TrimStart('-');
Debug.Log(info);
info = string.Empty;
}*/
#endregion }
} } /// <summary>
/// 表示一行
/// </summary>
public struct Row
{
public string rowText;
public List<Coll> colls; public Row(string line)
{
rowText = line;
string [] tempColls = line.Split(','); colls = new List<Coll>();
for (int i = ; i < tempColls.Length; i++)
{
colls.Add(new Coll(tempColls[i]));
}
} public string GetCell(int index)
{
return colls[index].ToString();
} public string ToString()
{
StringBuilder sb = new StringBuilder();
for (int i = ; i < colls.Count; i++)
{
sb.Append("-" + colls[i].ToString()); }
//去掉最后的"-"
return sb.ToString().TrimStart('-');
} /// <summary>
/// 让结构可以直接[下标值] 来获取或设置 单元格的字符串
/// </summary>
/// <param name="index"></param>
/// <returns></returns>
public string this[int index]
{
get
{
return colls[index].ToString();
}
set
{
this.colls[index].SetText(value);
}
} } /// <summary>
/// 每一个单元格
/// </summary>
public struct Coll
{
public string cellText; public Coll(string cell)
{
cellText = cell;
} /// <summary>
/// 写一个ToString()方便获取字符串
/// </summary>
/// <returns></returns>
public string ToString()
{
return cellText;
} /// <summary>
/// 设置单元格的字符串
/// </summary>
/// <param name="text"></param>
public void SetText(string text)
{
cellText = text;
} } /// <summary>
/// 一张表
/// </summary>
public struct CSVTable
{
/// <summary>
/// 行集合
/// </summary>
public List<Row> rows; /// <summary>
/// 增加一行数据
/// </summary>
/// <param name="line">以","分割的一行文本</param>
public void AddRow(string line)
{
if (rows == null)
{
rows = new List<Row>();
}
rows.Add(new Row(line));
} }

Unity 读取Excel的更多相关文章

  1. Unity读取Excel文件(附源代码)

    今天想弄个Unity读取Excel的功能的,发现网上有许多方法,采用其中一种方法:加入库文件 Excel.dll 和ICSharpCode.SharpZipLib.dll库文件,(还有System.D ...

  2. unity 读取excel表 生成asset资源文件

    做unity 项目也有一段时间了,从unity项目开发和学习中也遇到了很多坑,并且也从中学习到了很多曾经未接触的领域.项目中的很多功能模块,从今天开始把自己的思路和代码奉上给学渣们作为一份学习的资料. ...

  3. Unity用Excel.dll简单读取Excel内容

    Unity用Excel.dll简单读取Excel内容 需要Excel.dll 需要如下三个命名空间 using System.IO; using Excel; using System.Data; 1 ...

  4. java的poi技术读取Excel数据到MySQL

    这篇blog是介绍java中的poi技术读取Excel数据,然后保存到MySQL数据中. 你也可以在 : java的poi技术读取和导入Excel了解到写入Excel的方法信息 使用JXL技术可以在 ...

  5. poi读取excel模板,填充内容并导出,支持导出2007支持公式自动计算

    /** * 版权所有(C) 2016 * @author www.xiongge.club * @date 2016-12-7 上午10:03:29 */ package xlsx; /** * @C ...

  6. C#读取Excel,或者多个excel表,返回dataset

    把excel 表作为一个数据源进行读取 /// <summary> /// 读取Excel单个Sheet /// </summary> /// <param name=& ...

  7. PHP读取EXCEL时间

    在使用php读取excel表格中的时间时得到一串数字而不是时间:40359.58333333334 excel 中的时间值是自1900年以来的天数,注意是格林威治时间php 中的时间值是自1970年以 ...

  8. Open Xml 读取Excel中的图片

      在我的一个项目中,需要分析客户提供的Excel, 读出其中的图片信息(显示在Excel的第几行,第几列,以及图片本身). 网络上有许多使用Open Xml插入图片到Word,Excel的文章, 但 ...

  9. 使用Open xml 操作Excel系列之一-读取Excel

    一. 安装Open Xml SDK 从微软网站下载Open xml SDK,安装SDK. 二. 在项目中添加对DocumentFormat.OpenXml库的引用

随机推荐

  1. systemd-journald详解

    配置文件详解 [Journal] #Storage=persistent Storage=persistent #Compress=yes #Seal=yes #SplitMode=uid #Sync ...

  2. Linux基本操作 2-----Linux文件系统基本结构

    Linux的文件系统结构             Linux文件系统为一个倒转的单根树状结构 文件系统的根为"/" 文件系统严格区分大小写 路径使用“/”来分割,在windows使 ...

  3. RelativeLayout经常使用属性介绍

    以下介绍一下RelativeLayout用到的一些重要的属性: 第一类:属性值为true或false     android:layout_centerHrizontal                ...

  4. Hibernate PO对象的状态

    Hibernate的PO对象有三种状态:临时状态(又称临时态).持久状态(又称为持久态)和脱管状态(又称为脱管态.游离态).处理持久态的对象也称为PO,临时对象和脱管对象也称为VO. 1.临时态: 简 ...

  5. C#中方法Show.和ShowDialog的使用区别

    show()是非模式窗体. showDialog()是模式窗体. 如果这个时候用Show的话,则会发生的事情是,打开子窗体的同时主窗体又显示出来,而使用ShowDialog()的时候主要当子窗体关闭的 ...

  6. 利用MetaWeblog API 自制博客发布小工具

    博客园提供了诸多数据接口, 利用这些接口可以很容易的实现博客的发布,修改,删除等 1.需要引用一个DLL:为CookComputing.XmlRpcV2 2.新建一个类,在其中是一些要实现的东西,如: ...

  7. winform窗体中查找控件

    private RichTextBox FindControl()        { RichTextBox ret = null;            try            {       ...

  8. RDLC添加链接

    <rsweb:ReportViewer ID="ReportViewer1" runat="server" Font-Names="Verdan ...

  9. ongl三种符号的使用

    1.#符号 访问非根对象属性,由于Struts2中值栈被视为根对象,所以访问其他非根对象时,需要加#前缀.实际上,#相当于ActionContext.getContext(): 用于过滤和投影(pro ...

  10. codeforces 335A Banana(贪心)

    转载请注明出处: http://www.cnblogs.com/fraud/          ——by fraud    Banana Piegirl is buying stickers for ...