zoukankan      html  css  js  c++  java
  • 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)
  • 相关阅读:
    JUC锁框架_AbstractQueuedSynchronizer详细分析
    npm的镜像替换成淘宝
    MHA+keepalived集群环境搭建
    Java并发编程:CountDownLatch、CyclicBarrier和Semaphore
    链表中倒数第k个结点
    调整数组顺序使奇数位于偶数前面
    数值的整数次方
    二进制中1的个数
    矩形覆盖
    OS之进程管理---多线程模型和线程库(POSIX PTread)
  • 原文地址:https://www.cnblogs.com/XiaoLang0/p/9565680.html
Copyright © 2011-2022 走看看