精华内容
下载资源
问答
  • Excel2Unity

    千次阅读 2015-12-18 04:01:52
    Excel2Unity 一个为Unity3D编写的插件,可以快速地将Excel文件转换为JSON、CSV和XML,方便在游戏过程中处理各种Excel文件。本项目参考了excel2json,在此表示感谢。 如何使用Excel2Unity 将本项目中的...

    Excel2Unity

    一个为Unity3D编写的插件,可以快速地将Excel文件转换为JSON、CSV和XML,方便在游戏过程中处理各种Excel文件。本项目参考了excel2json,在此表示感谢。

    如何使用Excel2Unity

    将本项目中的Source文件夹直接复制到Unity3D项目中即可,Unity3D的菜单栏将会增加一个Plugins的菜单项,通过此菜单项的ExcelTools打开插件窗口。在项目资源中选中Excel文件后,点击插件窗口上的"转换"按钮即可!

    使用Excel2Unity的默认约束条件

    • Excel数据表默认以第一行作为字段
    • Excel工作表默认以第一个工作表为主
    • 目前支持utf-8和gb2312两种字符编码类型

    怎么解决Excel2Unity中的Bug?

    • 提交issues,然后由我来修改
    • 因为编辑器插件的代码已经给出,所以如果你在使过程中遇到任何不爽的地方,可以直接修改源代码。

    Excel文件转换示例

    假设Excel文件定义如下: Excel 则经过转换后的JSON、CSV和Xml文件分别如下:

    [
      {
        "姓名": "李逍遥",
        "等级": 12.0,
        "描述": "《仙剑奇侠传1》男主角",
        "技能": "万剑诀",
        "登场时间": "仙剑1、仙剑2、仙剑5、仙剑5前传"
      },
      {
        "姓名": "慕容紫英",
        "等级": 20.0,
        "描述": "《仙剑奇侠传4》男主角",
        "技能": "千方残光剑",
        "登场时间": "仙剑4"
      },
      {
        "姓名": "夏侯瑾轩",
        "等级": 18.0,
        "描述": "《仙剑奇侠传5前传》男主角",
        "技能": "文星耀太虚",
        "登场时间": "仙剑5前传"
      },
      {
        "姓名": "皇甫卓",
        "等级": 24.0,
        "描述": "《仙剑奇侠传5前传》配角",
        "技能": "天中剑",
        "登场时间": "仙剑5前传"
      }
    ]
    姓名,等级,描述,技能,登场时间,
    李逍遥,12,《仙剑奇侠传1》男主角,万剑诀,仙剑1、仙剑2、仙剑5、仙剑5前传,
    慕容紫英,20,《仙剑奇侠传4》男主角,千方残光剑,仙剑4,
    夏侯瑾轩,18,《仙剑奇侠传5前传》男主角,文星耀太虚,仙剑5前传,
    皇甫卓,24,《仙剑奇侠传5前传》配角,天中剑,仙剑5前传,
    
    
    <?xml version="1.0" encoding="utf-8"?>
    <Table>
      <Row>
       <姓名>李逍遥</姓名>
       <等级>12</等级>
       <描述>《仙剑奇侠传1》男主角</描述>
       <技能>万剑诀</技能>
       <登场时间>仙剑1、仙剑2、仙剑5、仙剑5前传</登场时间>
      </Row>
      <Row>
       <姓名>慕容紫英</姓名>
       <等级>20</等级>
       <描述>《仙剑奇侠传4》男主角</描述>
       <技能>千方残光剑</技能>
       <登场时间>仙剑4</登场时间>
      </Row>
      <Row>
       <姓名>夏侯瑾轩</姓名>
       <等级>18</等级>
       <描述>《仙剑奇侠传5前传》男主角</描述>
       <技能>文星耀太虚</技能>
       <登场时间>仙剑5前传</登场时间>
      </Row>
      <Row>
       <姓名>皇甫卓</姓名>
       <等级>24</等级>
       <描述>《仙剑奇侠传5前传》配角</描述>
       <技能>天中剑</技能>
       <登场时间>仙剑5前传</登场时间>
      </Row>
    </Table>
    展开全文
  • 我在unity里需要导出成Excel格式,试了一些方法,其中用c#的com组件的我还没成功不知道该怎么在unity里调用,(如果哪位大哥用别的方法在unity里成功了,可以交流下,最好给我一个小demo(849288321@qq.com),谢谢啦.),不过...

    我在unity里需要导出成Excel格式,试了一些方法,其中用c#的com组件的我还没成功不知道该怎么在unity里调用,(如果哪位大哥用别的方法在unity里成功了,可以交流下,最好给我一个小demo(849288321@qq.com),谢谢啦.),不过后来找到了这个org.in2bits.MyXls  ,需要导入这个dll(网上有很多),然后用着还挺好用,我这写的一个小例子仅供参考,

    using UnityEngine;

    using System.Collections;

    using org.in2bits.MyXls;

    using System.Collections.Generic;

    public class TestInfo

    {

    public string name;

    public string id;

    public string num;

    };

    public class ExcelMakerManager {

    public static ExcelMakerManager eInstance;

    public static ExcelMakerManager CreateExcelMakerManager()

    {

    if(eInstance==null)

    {

    eInstance = new ExcelMakerManager();

    }

    return eInstance;

    }

    //链表为 物体信息 .

    public void ExcelMaker(string name, List listInfo)

    {

    XlsDocument xls = new XlsDocument();//新建一个xls文档

    xls.FileName = name;// @"D:\tests.xls";//设定文件名

    //Add some metadata (visible from Excel under File -> Properties)

    xls.SummaryInformation.Author = "xyy"; //填加xls文件作者信息

    xls.SummaryInformation.Subject = "test";//填加文件主题信息

    string sheetName = "Sheet0";

    Worksheet sheet = xls.Workbook.Worksheets.AddNamed(sheetName);//填加名为"chc 实例"的sheet页

    Cells cells = sheet.Cells;//Cells实例是sheet页中单元格(cell)集合

    int rowNum = listInfo.Count;

    int rowMin = 1;

    int row = 0;

    for (int x = 0; x < rowNum + 1; x++)

    {

    if (x == 0)

    {

    //根据具体的物体信息 .需要重新写

    cells.Add(1, 1, "名字");

    cells.Add(1, 2, "ID");

    cells.Add(1, 3, "数量");

    }

    else

    {

    cells.Add(rowMin + x, 1, listInfo[row].id);

    cells.Add(rowMin + x, 2, listInfo[row].name);

    cells.Add(rowMin + x, 3, listInfo[row].num);

    row++;

    }

    }

    xls.Save();

    }

    }

    然后下面是调用上面的这个方法

    using UnityEngine;

    using System.Collections;

    using System.IO;

    using org.in2bits.MyXls;

    using System;

    using System.Collections.Generic;

    public class test : MonoBehaviour

    {

    string path;

    TestInfo test1;

    TestInfo test2;

    TestInfo test3;

    List listInfos;

    // Use this for initialization

    void Start()

    {

    ExcelMakerManager.CreateExcelMakerManager();

    // --测试数据

    test1 = new TestInfo();

    test1.id = "one";

    test1.name = "test1";

    test1.num = "x";

    test2 = new TestInfo();

    test2.id = "two";

    test2.name = "test2";

    test2.num = "22";

    test3 = new TestInfo();

    test3.id = "tree";

    test3.name = "test3";

    test3.num = "333";

    listInfos = new List();

    listInfos.Add(test1);

    listInfos.Add(test2);

    listInfos.Add(test3);

    // --测试数据

    // ManagerExcel.CreateE();

    }

    // Update is called once per frame

    void Update()

    {

    }

    void OnGUI()

    {

    if (GUI.Button(new Rect(100, 0, 100, 100), "aa"))

    {

    PrintExcel();

    Debug.Log("aaaa");

    }

    }

    public void PrintExcel()

    {

    if (!Directory.Exists(Application.dataPath + "/Prints"))

    {

    Directory.CreateDirectory(Application.dataPath + "/Prints");

    }

    path = Application.dataPath + "/Prints/Excel_"

    + System.DateTime.Now.ToString("yyyy-MM-dd_HH-mm-ss") + ".xls";

    ExcelMakerManager.eInstance.ExcelMaker(path, listInfos);

    }

    }

    至于改字体啥的网上都有相应的例子.可以自己去看看...这里就不多说了.

    结果如图:

    5b018e40a211e6673eaf677ec04a5862.png

    展开全文
  • 在做游戏时,经常会遇到需要读取Excel表格,用来配置游戏数据,供策化调试程序用。这里Down了三种方法,都采用第三方库,不需要安装Office,关键free (When playing games, we often encounter the need to read ...
  • unityExcel.xlxs.unitypackage

    2016-05-27 13:58:52
    unityExcel.xlxs.unitypackage
  • unity读取Excel

    2018-08-16 10:10:54
    unity中通过EPPlus库读写Excel表格,直接导入unity即可使用
  • Excel 表的操作少不了要引入第三方库,首先我们需要引入Excel.dll 和ICSharpCode.SharpZipLib.dll,这两个类库在网上都能找到;然后我们还需要引入System.Data.dll,这个类库在 Unity3D 的安装路径下的Editor\...

    对 Excel 表的操作少不了要引入第三方库,首先我们需要引入 Excel.dll 和 ICSharpCode.SharpZipLib.dll,这两个类库在网上都能找到;然后我们还需要引入 System.Data.dll,这个类库在 Unity3D 的安装路径下的 Editor\Data\Mono\lib\mono\unity 文件夹下能找到。wiseglove数据手套客户,可以在我们提供的数据手套FOR UNITY3D演示项目下找到。

    using Excel;

    using System.Data;

    using System.IO;

    using UnityEngine;

    public class Test : MonoBehaviour

    {

    #region -- 变量定义

    #endregion

    #region -- 系统函数

    private void Start()

    {

    DataRowCollection _dataRowCollection = ReadExcel(Application.streamingAssetsPath + "/手套录制数据.xlsx");

    //这里从 1 开始循环,因为第一行被表头占据了。所以具体解析数据的时候需要根据具体情况来定。

    for (int i = 1; i < _dataRowCollection.Count; i++)

    {

    Debug.Log("拇指" + _dataRowCollection[i][0] + "--" + "食指" + _dataRowCollection[i][1] + "--" + "中指" + _dataRowCollection[i][2])+ "--" + "无名指" + _dataRowCollection[i][2])+ "--" + "小指" + _dataRowCollection[i][2]);

    } }

    #endregion

    #region -- 自定义函数

    // 读取 Excel 表并返回一个 DataRowCollection 对象

    //手套录制数据的Excel 表路径///读取的 Sheet 索引。Excel 表中是有多个 Sheet 的///private static DataRowCollection ReadExcel(string _path, int _sheetIndex = 0)

    {

    FileStream stream = File.Open(_path, FileMode.Open, FileAccess.Read, FileShare.Read);

    //IExcelDataReader excelReader = ExcelReaderFactory.CreateBinaryReader(stream);//读取 Excel 1997-2003版本

    IExcelDataReader excelReader = ExcelReaderFactory.CreateOpenXmlReader(stream);//读取 2007及以后的版本

    DataSet result = excelReader.AsDataSet();

    return result.Tables[_sheetIndex].Rows;

    }

    // 读取 Excel 表并返回一个 DataRowCollection 对象

    //Excel 表路径///读取的 Sheet 名称。Excel 表中是有多个 Sheet 的///private static DataRowCollection ReadExcel(string _path, string _sheetName)

    {

    FileStream stream = File.Open(_path, FileMode.Open, FileAccess.Read, FileShare.Read);

    //IExcelDataReader excelReader = ExcelReaderFactory.CreateBinaryReader(stream);//读取 Excel 1997-2003版本

    IExcelDataReader excelReader = ExcelReaderFactory.CreateOpenXmlReader(stream);//读取 2007及以后的版本

    DataSet result = excelReader.AsDataSet();

    return result.Tables[_sheetName].Rows;

    }

    #endregion

    }

    这里需要注意的是,根据 Excel 表的版本不同,使用的方法也不一致,我在代码中也有注释,大家看一下就行。还有就是 Sheet ,在读取的时候,我们可以根据索引去读取,也可以根据名称去读取,我也写了重载方法。

    如果这样写,发布后运行,也许会报错,这时我们就又需要引入第三方库了,去 Unity3D 安装路径下的Editor\Data\Mono\lib\mono\unity,找到所有 I18N 开头的类库导入Unity中,就不会报错了。

    OK, 现在Excel 表的读取功能解决了,那我们如何生成一张 Excel 表,并写入数据呢?这时我们需要导入一个叫 EPPlus.dll 的类库,网上也有,大家可以自己下载。

    代码如下:

    private void Start()

    {

    string _filePath = Application.streamingAssetsPath + "/录制数据.xlsx";

    string _sheetName = "详情";

    FileInfo _excelName = new FileInfo(_filePath);

    if (_excelName.Exists)

    {

    //删除旧文件,并创建一个新的 excel 文件。

    _excelName.Delete();

    _excelName = new FileInfo(_filePath);

    }

    //通过ExcelPackage打开文件

    using (ExcelPackage package = new ExcelPackage(_excelName))

    {

    //在 excel 空文件添加新 sheet,并设置名称。

    ExcelWorksheet worksheet = package.Workbook.Worksheets.Add(_sheetName);

    //添加列名

    worksheet.Cells[1, 1].Value = "时间";

    worksheet.Cells[1, 2].Value = "拇指";

    worksheet.Cells[1, 3].Value = "中指";

    worksheet.Cells[1, 4].Value = "无名指";

    worksheet.Cells[1, 5].Value = "小指";

    //添加一行数据

    worksheet.Cells[2, 1].Value = 10; //ms

    worksheet.Cells[2, 2].Value = 33.0f;

    worksheet.Cells[2, 3].Value = 34.0f;

    worksheet.Cells[2, 4].Value = 35.0f;

    worksheet.Cells[2, 5].Value = 36.0f;

    //添加一行数据

    worksheet.Cells[3, 1].Value = 20; //ms

    worksheet.Cells[3, 2].Value = 33.0f;

    worksheet.Cells[3, 3].Value = 34.0f;

    worksheet.Cells[3, 4].Value = 35.0f;

    worksheet.Cells[3, 5].Value = 36.0f;

    //添加一行数据

    worksheet.Cells[4, 1].Value = 30; //ms

    worksheet.Cells[4, 2].Value = 33.0f;

    worksheet.Cells[4, 3].Value = 34.0f;

    worksheet.Cells[4, 4].Value = 35.0f;

    worksheet.Cells[4, 5].Value = 36.0f;

    //保存excel

    package.Save();

    }

    }

    Excel 表的读写操作大致就是这样的。因为 Excel 表 包含太多的格式信息,好是将 Excel 表另存为纯文本的 CSV 文件再去读取,我们另一篇技术文章讨论关于 CSV 文件的读取。

    展开全文
  • ReadExcel.unitypackage

    2020-01-02 13:56:59
    Unity读取Excel,包括一个简单的Demo和必要的dll文件。谢谢下载!谢谢下载!谢谢下载!谢谢下载!谢谢下载!
  • Unity 读取Excel

    2018-05-03 15:10:06
    Unity3d 读写Excel文档,里边有一个Demo 场景,可以快速读写Excel
  • unityExcel插件

    2020-08-20 18:36:14
    参考大佬的文章自己修改了一下写的excel自动化工具 根据Excel自动生成对应的c#脚本和asset配置文件
  • Excel2Unity-master.zip

    2019-09-20 21:36:56
    excelunity可识别格式的工具,找了很久才找到,现在提供给大家
  • unity打开excel表格_unity 读取、更改excel(.xlsx类型)数据-附件资源
  • usingSystem;usingSystem.Collections;usingSystem.Collections.Generic;usingUnityEngine;usingSystem.Data;...usingExcel;usingUnityEngine.UI;using Object =UnityEngine.Object;public classfinsh :...

    usingSystem;usingSystem.Collections;usingSystem.Collections.Generic;usingUnityEngine;usingSystem.Data;usingSystem.IO;usingExcel;usingUnityEngine.UI;using Object =UnityEngine.Object;public classfinsh : MonoBehaviour

    {//public设置为unity界面配置

    publicRectTransform content;publicGameObject table;publicGameObject tableDemo;private string file1 = "Assets/finsh/cc.xlsx";//读取的文件的路径//根据读取Excel表格的数量通过克隆创建对应的表格

    public voidCloneForm()

    {

    Dictionary dictionary =LoadInfo(file1);foreach (var i indictionary)

    {

    content= table.GetComponent();var task =Instantiate(tableDemo, content);

    task.gameObject.SetActive(true);

    task.GetComponent().text =i.Value;

    }

    }//读取加载

    public voidread()

    {

    GameObject.Find("table").AddComponent().LoadInfo(file1);

    print(file1);

    CloneForm();

    }//找到并读取Excel,转换成DataSet型变量

    DataSet ReadExcel(stringpath)

    {

    Debug.Log(path+ "read");

    FileStream fs=File.Open(path, FileMode.Open, FileAccess.Read, FileShare.Read);

    IExcelDataReader iExcelDR=ExcelReaderFactory.CreateOpenXmlReader(fs);

    DataSet ds=iExcelDR.AsDataSet();

    fs.Close();returnds;

    }//加载记录表中信息

    public Dictionary LoadInfo(stringpath)

    {

    Debug.Log(path+"load");

    Dictionary table_list=new Dictionary();

    DataSet ds=ReadExcel(path);int num= ds.Tables.Count; //查询文件有几个表

    print("表"+num);int columns = ds.Tables[1].Columns.Count; //总列数,Tables[0]为待查询的表1

    int rows = ds.Tables[1].Rows.Count; //总行数

    GetComponent().constraintCount =columns;

    print(rows+ "---" +columns);for (int j = 0; j < rows; j++)

    {for (int i = 0; i < columns; i++)

    {//读取表1的第i行第j列

    string value = ds.Tables[1].Rows[j][i].ToString(); //ds.Tables[0].Rows[i][0]是Object,需强行转换为string

    string key = (j + 1) + "行" + (i + 1) + "列";

    table_list.Add(key,value);//Debug.Log(key + "===" + value);

    }

    }returntable_list;

    }

    }/*创建对象

    private Object CreateSprite(int r, int c)

    {

    GameObject go=new GameObject(r.ToString()+c.ToString());

    go.AddComponent();

    go.transform.SetParent(this.transform,false);

    return go;

    print(this.transform.name);

    }*/

    展开全文
  • 一个为Unity3D编写的插件,可以快速地将Excel文件转换为JSON、CSV和XML,方便在游戏过程中处理各种Excel文件。 Excel2Unity 一个为Unity3D编写的插件,可以快速地将Excel文件转换为JSON、CSV和XML,方便在游戏过程...
  • Unity 读取Excel文件 包含 Excel.dll ICSharpCode.SharpZipLib System.Data
  • unityExcel读写

    2021-01-18 13:01:35
    自己查找总结的一个,轻量级、易上手的插件,一个二维数组解决所有问题,基于EPPlus的优化
  • 今天想弄个Unity读取Excel的功能的,发现网上有许多方法,采用其中一种方法:加入库文件 Excel.dll 和ICSharpCode.SharpZipLib.dll库文件,(还有System.Data.dll也要拷贝进来,在Unity安装路径C:\Program Files\...
  • Unity读取Excel文件

    2019-05-07 19:35:59
    Unity调用Excel所使用的dll文件,库文件 Excel.dll 和ICSharpCode.SharpZipLib.dll库文件
  • 生成Excel对应的类using System.Collections;using System.Collections.Generic;...using UnityEditor;using System.IO;using Excel;using System.Data;using System;public class CreateClass{[MenuItem("...
  • 本文实例为大家分享了Unity读取Excel文件转换XML格式文件的具体代码,供大家参考,具体内容如下下载连接点击打开链接using System.Collections.Generic;using UnityEngine;using System.IO;using System.Xml;using ...
  • private List<Student> studentList; public void WriteStudentInfo(List<Student> student) { studentList = new List(); studentList = student; string path = Application.... // WriteExcel(path); }
  • 该插件是基于NOPI在Unity平台上进行Excel操作,NPOI可以在没有安装Office的情况下对Word或Excel文档进行读写操作,该插件已包含Dll文件并且已经封装,可以直接修改方法来实现对Excel的不同操作
  • 废话不多说,对 Excel 表的操作少不了要引入第三方库,首先...然后我们还需要引入System.Data.dll,这个类库在 Unity3D 的安装路径下的Editor\Data\Mono\lib\mono\unity 文件夹下能找到。代码如下:1 usingExcel;2 u...
  • unity读写.Excel文件

    2021-03-22 19:35:14
    unity读写.Excel文件
  • Unity Excel导入导出工具项目案例.unitypackageUnity Excel导入导出工具项目案例.unitypackageUnity Excel导入导出工具项目案例.unitypackage
  • unity 加载excel

    2017-12-01 13:25:36
    Excel解析并进行压缩以及加密,之后成放到自定义的文件中。让您不再担心数据设计和游戏! 特性 - 纯c#代码 - 对原始数据进行压缩以及加密 - 常见移动端动态解析加密后的文件 - NET 2.0子集兼容性 支持的...
  • unity3d 如何设置Excel,一个单元格两种格式。(目...Unity读取Excel表格数据文件.xls或.xlsx。方法有:1. 利用已有的 Unity Excel 个你到 Asset Store 上搜索 Excel 就能找到。或者在 download.csdn.net/detail/u...
  • UnityExcel插件

    2018-09-27 11:44:55
    用于unity中读取Excel表和写入Excel表 使用以下引用 using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using OfficeOpenXml; using System.IO;
  • unity 读取Excel

    2019-02-21 10:14:52
    前提:使用unity读取excel时,使用如图的dll:   去读取的时候,在编辑器内运行正常,但是在导出时会发现exe在运行时不能正常读取excel。 用这个dll可以读取2007以后的格式.xlsx,也可以读取97-2003的.xls。 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 835
精华内容 334
关键字:

excelunity