Exemple #1
0
    public void Gen_Excel2Json()
    {
        Excel2Json excel2json = new Excel2Json();

        excel2json.Gen();
    }
Exemple #2
0
        /// <summary>
        /// 转换Excel文件
        /// </summary>
        private static void Convert()
        {
            foreach (string assetsPath in excelList)
            {
                //获取Excel文件的绝对路径
                string excelPath = pathRoot + "/" + assetsPath;

                //构造转换基类
                BaseExcelConverter converter;

                //判断编码类型
                Encoding encoding = null;
                if (indexOfEncoding == 0 || indexOfEncoding == 3)
                {
                    encoding = Encoding.GetEncoding("utf-8");
                }
                else if (indexOfEncoding == 1)
                {
                    encoding = Encoding.GetEncoding("gb2312");
                }

                //判断输出类型
                string output = "";
                if (indexOfFormat == 0)
                {
                    converter = new Excel2Json(excelPath);
                    output    = excelPath.Replace(".xlsx", ".json");
                    converter.Export(output, encoding);
                }
                else if (indexOfFormat == 1)
                {
                    converter = new Excel2CSV(excelPath);
                    output    = excelPath.Replace(".xlsx", ".csv");
                    converter.Export(output, encoding);
                }
                else if (indexOfFormat == 2)
                {
                    converter = new Excel2Xml(excelPath);
                    output    = excelPath.Replace(".xlsx", ".xml");
                    converter.Export(output, encoding);
                }
                else if (indexOfFormat == 3)
                {
                    converter = new Excel2Lua(excelPath);
                    output    = excelPath.Replace(".xlsx", ".lua");
                    converter.Export(output, encoding);
                }

                //判断是否保留源文件
                if (!keepSource)
                {
                    FileUtil.DeleteFileOrDirectory(excelPath);
                }

                //刷新本地资源
                AssetDatabase.Refresh();
            }

            //转换完后关闭插件
            //这样做是为了解决窗口
            //再次点击时路径错误的Bug
            instance.Close();
        }