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文件之间的转换、原理雷同

转载于:https://www.cnblogs.com/XiaoLang0/p/9565680.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值