Unity讀取Excel文件轉(zhuǎn)換XML格式文件
更新時間:2020年06月21日 12:48:16 作者:于子瀟
這篇文章主要為大家詳細介紹了Unity讀取Excel文件轉(zhuǎn)換XML格式文件,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
本文實例為大家分享了Unity讀取Excel文件轉(zhuǎn)換XML格式文件的具體代碼,供大家參考,具體內(nèi)容如下
此方法用到excel.dll
下載連接 點擊打開鏈接
using System.Collections.Generic; using UnityEngine; using System.IO; using System.Xml; using Excel; using System.Data; /// <summary> /// 創(chuàng)建XML表 /// </summary> public class CreateXML : MonoBehaviour { /// <summary> /// 表頭 /// </summary> public const string xmlRoot = "FZW_MASK_XML_TABLE"; //Excel名字 public string ExcelPathName; //xml文件路徑; private string Path; //表文件名 public string xmlName = "XMLTABLE.xml"; //表名 public string xmlTabeName = "XMLTABLE"; //第一行字段 private string[] tableTop; //表List private List<string[]> tableList=new List<string[]>(); private void Awake() { //設(shè)置路徑 Path = Application.streamingAssetsPath + "/XMLTable/" + xmlName; //讀取Excel ReadExcel(ExcelPathName); } /// <summary> /// 讀Excel /// </summary> /// <param name="ExcelPath"></param> /// <returns></returns> public void ReadExcel(string ExcelPath) { //excel文件位置 /MaskGame/ReadExcel/excel文件名 FileStream stream = File.Open(Application.dataPath + "/MaskGame/ReadExcel/" + ExcelPath, FileMode.Open, FileAccess.Read); IExcelDataReader excelReader = ExcelReaderFactory.CreateOpenXmlReader(stream); DataSet result = excelReader.AsDataSet(); int rows = result.Tables[0].Rows.Count;//獲取行數(shù)(多少行信息) int columns = result.Tables[0].Columns.Count;//獲取列數(shù)(多少列字段) //初始化字段 tableTop = new string[columns]; //存字段 for (int i = 0; i < columns; i++) { tableTop[i]= result.Tables[0].Rows[0][i].ToString(); } //從第二行開始讀 讀信息 for (int i = 1; i < rows; i++) { //臨時表 string[] table = new string[columns]; //賦值表信息 for (int j = 0; j < columns; j++) { string nvalue = result.Tables[0].Rows[i][j].ToString(); table[j] = nvalue; } //添加到List tableList.Add(table); } } /// <summary> /// 創(chuàng)建表格 /// </summary> private void CreateXMLTable() { //路徑錯誤 if (File.Exists(Path)) return; //xml對象; XmlDocument xmll = new XmlDocument(); //跟節(jié)點 XmlElement Root = xmll.CreateElement(xmlRoot); for (int i = 0; i < tableList.Count; i++) { XmlElement xmlElement = xmll.CreateElement(xmlTabeName); xmlElement.SetAttribute(tableTop[0], tableList[i][0]); for (int j = 0; j < tableTop.Length-1; j++) { XmlElement infoElement = xmll.CreateElement(tableTop[j + 1]); infoElement.InnerText = tableList[i][j + 1]; xmlElement.AppendChild(infoElement); } Root.AppendChild(xmlElement); } xmll.AppendChild(Root); xmll.Save(Path); } void OnGUI() { if (GUI.Button(new Rect(200, 200, 500, 500), "創(chuàng)建XML表")) { CreateXMLTable(); Debug.Log("創(chuàng)建成功: " + Path); } } }
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
您可能感興趣的文章:
相關(guān)文章
C#的Process類調(diào)用第三方插件實現(xiàn)PDF文件轉(zhuǎn)SWF文件
本篇文章主要介紹了C#的Process類調(diào)用第三方插件實現(xiàn)PDF文件轉(zhuǎn)SWF文件,現(xiàn)在分享給大家,具有一定的參考價值,有需要的可以了解一下。2016-11-11C#實現(xiàn)將千分位字符串轉(zhuǎn)換成數(shù)字的方法
這篇文章主要介紹了C#實現(xiàn)將千分位字符串轉(zhuǎn)換成數(shù)字的方法,很適合初學者更好的理解C#字符串原理,需要的朋友可以參考下2014-08-08C#利用性能計數(shù)器監(jiān)控網(wǎng)絡(luò)狀態(tài)
這篇文章主要為大家詳細介紹了C#利用性能計數(shù)器監(jiān)控網(wǎng)絡(luò)狀態(tài)的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-01-01