public void GreetPeople(string name, Language1 lang) { //做某些额外的事情,比如初始化之类,此处略 switch (lang) { case Language1.English: EnglishGreeting(name); break; case Language1.Chinese: ChineseGreeting(name); break; } }
public static void ExcelToJson() { DataTable dataTable; //列数 int keyIndex = 0; //excel文件路径 string excelFilePath = @"C:\Users\sun\Desktop\4DFishingLocalization.xlsx"; if (!File.Exists(excelFilePath)) { print("不存在文件:" + excelFilePath); return; } //文件流 FileStream mStream = File.Open(excelFilePath, FileMode.Open, FileAccess.Read); //转化为excel IExcelDataReader mExcelReader = ExcelReaderFactory.CreateOpenXmlReader(mStream); //表格数据集合 DataSet mResultSet = mExcelReader.AsDataSet(); if (mResultSet.Tables.Count < 1) { return; } //获取第一个数据表 dataTable = mResultSet.Tables[0]; for (int i = 0; i < dataTable.Columns.Count; i++) { if (dataTable.Rows[0][i].ToString().Equals("Key")) { keyIndex = i; } } //Row[][] Row[行][列] int count = dataTable.Rows.Count; TDRTGFishingLocalization tDRTGFishingLocalization = new TDRTGFishingLocalization(); for (int i = 1; i < count; i++) { string key = dataTable.Rows[i][keyIndex].ToString(); string ChineseSimplified = dataTable.Rows[i][keyIndex + 1].ToString(); string ChineseTraditional = dataTable.Rows[i][keyIndex + 2].ToString(); string English = dataTable.Rows[i][keyIndex + 3].ToString(); Language1 language = new Language1(key, ChineseSimplified, ChineseTraditional, English); tDRTGFishingLocalization.Languages.Add(language); } //生成Json字符串 string json = JsonConvert.SerializeObject(tDRTGFishingLocalization, Formatting.Indented); //写入文件 using (FileStream fileStream = new FileStream(Application.dataPath + "/Resources/4DFishingLocalization.json", FileMode.Create, FileAccess.Write)) { using (TextWriter textWriter = new StreamWriter(fileStream, Encoding.UTF8)) { textWriter.Write(json); } } }