コード例 #1
0
        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);
                    }
                }
            }
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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);
                    }
                }
            }
        }