歡迎您光臨本站 註冊首頁

Unity讀取Excel文件轉換XML格式文件

←手機掃碼閱讀     techdo @ 2020-06-22 , reply:0

本文實例為大家分享了Unity讀取Excel文件轉換XML格式文件的具體代碼,供大家參考,具體內容如下

此方法用到excel.dll

下載連接 點擊打開鏈接

  using System.Collections.Generic;  using UnityEngine;  using System.IO;  using System.Xml;  using Excel;  using System.Data;     ////// 創建XML表  ///public class CreateXML : MonoBehaviour  {   ////// 表頭   ///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 ListtableList=new List();         private void Awake()   {    //設置路徑    Path = Application.streamingAssetsPath + "/XMLTable/" + xmlName;       //讀取Excel    ReadExcel(ExcelPathName);   }         ////// 讀Excel   /////////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;//獲取行數(多少行信息)    int columns = result.Tables[0].Columns.Count;//獲取列數(多少列字段)            //初始化字段    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);    }   }      ////// 創建表格   ///private void CreateXMLTable()   {    //路徑錯誤    if (File.Exists(Path)) return;       //xml對象;    XmlDocument xmll = new XmlDocument();    //跟節點    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), "創建XML表"))    {     CreateXMLTable();     Debug.Log("創建成功: " + Path);    }       }  }

 

                                                       

   


[techdo ] Unity讀取Excel文件轉換XML格式文件已經有245次圍觀

http://coctec.com/docs/program/show-post-239415.html