扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
不懂Unity读取Excel文件转换XML格式文件的方法?其实想解决这个问题也不难,下面让小编带着大家一起学习怎么去解决,希望大家阅读完这篇文章后大所收获。
我们提供的服务有:网站设计制作、网站设计、微信公众号开发、网站优化、网站认证、和林格尔ssl等。为超过千家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的和林格尔网站制作公司此方法用到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); } } }
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流