Ejemplo n.º 1
0
        private static void ExecuteDataOnCell(ExcelWorksheet sheet, string address, ParameterData data)
        {
            string cellValue = DistinctValue(sheet.Cells[address].Value) + "";
            Regex  regex     = new Regex(@"#\{[^\}]*\}");

            if (!regex.IsMatch(cellValue))
            {
                return;
            }

            try
            {
                bool isList = false;
                if (cellValue.StartsWith("#{"))
                {
                    var config = ParameterConfig.CreateFromJson(cellValue.TrimStart('#'));
                    if (config.IsSetList())
                    {
                        isList = true;
                        InsertTableData(sheet, address, config.GetTableValue(data));
                    }
                }
                if (!isList)
                {
                    sheet.Cells[address].Value = regex.Replace(cellValue, delegate(Match match)
                    {
                        var config = ParameterConfig.CreateFromJson(match.ToString().TrimStart('#'));
                        if (config.IsSetField())
                        {
                            return(config.GetStringValue(data));
                        }
                        return(match.ToString());
                    });
                }
            }
            catch (Exception ex)
            {
                sheet.Cells[address].Value = ex.Message;
            }
        }
Ejemplo n.º 2
0
        public static byte[] ExecuteTemplate(string excelFile, ParameterData data)
        {
            var stream = new MemoryStream(File.ReadAllBytes(excelFile));

            return(ExecuteTemplate(stream, data));
        }
Ejemplo n.º 3
0
 public string GetStringValue(ParameterData data)
 {
     return(GetFieldValue(data) + "");
 }
Ejemplo n.º 4
0
 public byte[] ExecuteTemplate(ParameterData data)
 {
     return(ExecuteTemplate(stream, data));
 }
Ejemplo n.º 5
0
 public int GetIntValue(ParameterData data)
 {
     return(int.Parse(GetFieldValue(data) + ""));
 }