public void ExportJson(FileInfo _file, int _headNum, bool _isMutiple, string _sheetSign = "") { string name = _file.Name.Split('.')[0]; if (!ExcelData.ContainsKey(name)) { return; } DataSet excelData = ExcelData[name]; if (excelData == null) { return; } var jsonSettings = new JsonSerializerSettings { Formatting = Formatting.Indented }; if (!_isMutiple) { DataTable dataTabale = excelData.Tables[0]; if (dataTabale.Rows.Count > 0 && dataTabale.Columns.Count > 0) { object sheetValue = ConvertSheetToArray(dataTabale, _headNum, name); //object sheetValue = ConvertSheetToDict(dataTabale, _headNum); string context = JsonConvert.SerializeObject(sheetValue, jsonSettings); if (!JsonData.ContainsKey(name)) { JsonData.Add(name, context); } } } else { Dictionary <string, string> data = new Dictionary <string, string>(); foreach (DataTable item in excelData.Tables) { if (!string.IsNullOrEmpty(_sheetSign) && item.TableName.Contains(_sheetSign)) { continue; } if (item.Rows.Count > 0 && item.Columns.Count > 0) { object sheetValue = ConvertSheetToArray(item, _headNum, name); string jsonContext = JsonConvert.SerializeObject(sheetValue, jsonSettings); if (!MultipleJsonData.ContainsKey(name)) { MultipleJsonData.Add(name, data); } data.Add(item.TableName, jsonContext); } } } }
public DataSet ReadExcel(FileInfo _file) { DataSet dataSet = null; using (var stream = File.Open(_file.FullName, FileMode.Open, FileAccess.Read)) { using (var excelReader = ExcelReaderFactory.CreateReader(stream)) { string name = _file.Name.Split('.')[0]; dataSet = excelReader.AsDataSet(); if (!ExcelData.ContainsKey(name)) { ExcelData.Add(name, dataSet); } excelReader.Close(); } stream.Close(); } return(dataSet); }
public void ExportTemplate(FileInfo _file, int _headNum, bool _isMutiple, TemplateType _template, string _sheetSign = "") { string name = _file.Name.Split('.')[0]; if (!ExcelData.ContainsKey(name)) { return; } DataSet excelData = ExcelData[name]; if (excelData == null) { return; } if (!_isMutiple) { DataTable dataTabale = excelData.Tables[0]; if (dataTabale.Rows.Count > 0 && dataTabale.Columns.Count > 0) { string tmp = ""; switch (_template) { case TemplateType.CS: tmp = (new CSDefineGenerator().CSGenerator(name, _headNum, dataTabale)); break; case TemplateType.TS: tmp = (new TypeScriptGenerator().TSGenerator(name, _headNum, dataTabale)); break; } if (!TemplateData.ContainsKey(name)) { TemplateData.Add(name, tmp); } } } else { Dictionary <string, string> data = new Dictionary <string, string>(); foreach (DataTable item in excelData.Tables) { if (!string.IsNullOrEmpty(_sheetSign) && item.TableName.Contains(_sheetSign)) { continue; } if (item.Rows.Count > 0 && item.Columns.Count > 0) { string tmp = ""; switch (_template) { case TemplateType.CS: tmp = (new CSDefineGenerator().CSGenerator(item.TableName, _headNum, item)); break; case TemplateType.TS: tmp = (new TypeScriptGenerator().TSGenerator(item.TableName, _headNum, item)); break; } if (!MultipleTemplateData.ContainsKey(name)) { MultipleTemplateData.Add(name, data); } data.Add(item.TableName, tmp); } } } }