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-11
C#實現(xiàn)將千分位字符串轉(zhuǎn)換成數(shù)字的方法
這篇文章主要介紹了C#實現(xiàn)將千分位字符串轉(zhuǎn)換成數(shù)字的方法,很適合初學者更好的理解C#字符串原理,需要的朋友可以參考下2014-08-08
C#利用性能計數(shù)器監(jiān)控網(wǎng)絡(luò)狀態(tài)
這篇文章主要為大家詳細介紹了C#利用性能計數(shù)器監(jiān)控網(wǎng)絡(luò)狀態(tài)的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-01-01

