• LitJson(读Exce文件写入到json文件):


    读Exce文件写入到json文件汇总:

    //命名空间

    using System.Collections;

    using System.Collections.Generic;

    using System.IO;

    using UnityEngine;

    using  UnityEditor;

    using  Excel;

    using  LitJson;

    using  OfficeOpenXml;

    public class ExcelData     //定义ExcelData类

    {

        //定义表格的内容变量名称

        public string UserName;

        public string UserPwd;

    }

    //定义unity中窗口类

    public class XiaoLang : EditorWindow

    {

        public XiaoLang()

        {

            //设置窗口的名字

            this.titleContent = new GUIContent("测试窗口");

        }

        //扩展编译器

        [MenuItem("MyTools/windows")]

        static void MyWindows()

        {

            //固定套路格式

            GetWindow(typeof(XiaoLang));

        }

        void OnGUI()

        {

             //定义窗口点击

            if (GUILayout.Button("读取Excel至json文件", GUILayout.Width(200)))

            {

                     //点击调用的方法

                WriteExcelDataToJson();

            }

        }

        //WriteExcelDataToJson方法

        private void WriteExcelDataToJson()

        {

             //定义excel、Json文件路径

            string excelPath = Application.streamingAssetsPath + "/userInfo.xlsx";

            string JsonPath = Application.streamingAssetsPath + "/userInfo.json";

             //定义数据存储的List

            List<ExcelData> data = new List<ExcelData>();

             //固定读写格式

            ReadExcelData(data,excelPath);

            WriteDataToJson(data, JsonPath);

            AssetDatabase.Refresh();

        }

        //ReadExcelData方法、参数List、参数路径

        private void ReadExcelData(List<ExcelData> data, string excelPath)

        {

             //定义读取信息

            FileInfo info = new FileInfo(excelPath);

            if (info.Exists == false)

            {

                Debug.Log("Excel文件不存在.");

                return;

            }

            //固定读取数据流

            FileStream stream = new FileStream(excelPath,FileMode.Open,FileAccess.Read);

            IExcelDataReader reader = ExcelReaderFactory.CreateOpenXmlReader(stream);

             //读取文件首行

            reader.Read();

             //读取文件首行

            while (reader.Read())

            {

                 //读取文件格式并添加到List中

                ExcelData exceldata = new ExcelData();

                exceldata.UserName = reader.GetString(0);

                exceldata.UserPwd = reader.GetString(1);

                data.Add(exceldata);

            }

        }

        //WriteDataToJson方法、参数List、参数路径

        private void WriteDataToJson(List<ExcelData> data, string jsonPath)

        {

             //固定写Json文件格式

            string jsonData = JsonMapper.ToJson(data);

            File.WriteAllText(jsonPath,jsonData);

        }

    }

    注:代码使用LitJson插件完成、其方法基于LitJson代码、用于Excel文件与Json文件之间的转换、原理雷同

    支持个人观看使用,如商用或转载,请告知! -----萧朗(QQ:453929789 Email:xiaolang_xl@sina.com)
  • 相关阅读:
    ps背景橡皮擦工具详解
    Application called By IE on Pseudo B/S Mode
    一种B/S模式下基于JAVA反射机制的可伸缩动态加载模块的解决方案
    Compile the latest Kernel(linux3.1rc4) On Ubuntu Plateform
    HttpService & WebService For Flex Develop
    国外的一个flex入门教学~[转]
    HQL略解
    How to build a Flex development platform based on Myeclipse8.6 & Flex4
    基于Pipe的PureMVC Flex框架的多核共享消息技术
    Ninject IOC<一>
  • 原文地址:https://www.cnblogs.com/XiaoLang0/p/9565680.html
Copyright © 2020-2023  润新知