12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- using Excel;
- using System.Collections;
- using System.Collections.Generic;
- using System.Data;
- using System.IO;
- public class ExcelTool
- {
- public static List<LanguageData> ReadLanguageData(string ExcelPath, string sheetName)
- {
- DataRowCollection collect = ReadExcel(ExcelPath, sheetName);
- List<LanguageData> items = new List<LanguageData>();
- for (int i = 1; i < collect.Count; i++)
- {
- if (string.IsNullOrEmpty(collect[i][0].ToString()))
- continue;
- LanguageData item = new LanguageData
- {
- name = string.IsNullOrEmpty(collect[i][MultiLanguageConfigIndex.name].ToString()) ? "Null" : collect[i][MultiLanguageConfigIndex.name].ToString(),
- content = MultLanguageAdd(collect[i], MultiLanguageConfigIndex.en, (int)LanguageType.Count),
- };
- items.Add(item);
- }
- return items;
- }
- private static List<LanguageContent> MultLanguageAdd(DataRow dataRow, int min, int max)
- {
- List<LanguageContent> addition = new List<LanguageContent>();
- for (int i = min; i <= max; i++)
- {
- addition.Add(new LanguageContent(dataRow[i].ToString(), (LanguageType)i));
- }
- return addition;
- }
- private static DataRowCollection ReadExcel(string excelPath, string sheetName)
- {
- FileStream stream = File.Open(excelPath, FileMode.Open, FileAccess.ReadWrite, FileShare.ReadWrite);
- IExcelDataReader excelReader = ExcelReaderFactory.CreateOpenXmlReader(stream);
- DataSet result = excelReader.AsDataSet();
- return result.Tables[sheetName].Rows;
- }
- }
|