Example #1
0
        public byte[] GenerateReport(List <object> itemList, GridConfigurationBase gridConfig)
        {
            List <GridColumnBase> columnList = gridConfig.GridColumnBases.Where(x => !x.KeyColumn).ToList();

            this.Columns = GetColumns(columnList.Count());

            using (var workbook = new XLWorkbook())
            {
                IXLWorksheet ws = workbook.Worksheets.Add("Info General");

                CreateHeader(columnList, ws);

                foreach (object obj in itemList)
                {
                    int file = itemList.IndexOf(obj) + 2;
                    foreach (GridColumnBase cName in columnList)
                    {
                        int column = columnList.IndexOf(cName);
                        var value  = GridColumnBase.GetKeyValue(obj, cName.PropertyInfo);
                        ws.Cell($"{Columns[column]}{file}")
                        .Value = value;
                    }
                }

                ws.Columns().AdjustToContents();


                using (var ms = new MemoryStream())
                {
                    workbook.SaveAs(ms);
                    return(ms.ToArray());
                }
            }
        }
Example #2
0
        public CellContexMenuOption(GridColumnBase gridColumn, object context, string urlFolder)
        {
            GridColumn  = gridColumn;
            RowValues   = context;
            OneItemList = new List <object>();
            OneItemList.Add(RowValues);
            string keyValue = GridColumnBase.GetKeyValue(context, context.GetType().GetProperty(gridColumn.KeyColumnName)).ToString();

            gridColumn.InitializeContextMenuOptions(keyValue, urlFolder);
        }