private void ColumnSetUp()
 {
     ExcelColumns.Add(1, "A");
     ExcelColumns.Add(2, "B");
     ExcelColumns.Add(3, "C");
     ExcelColumns.Add(4, "D");
     ExcelColumns.Add(5, "E");
     ExcelColumns.Add(6, "F");
     ExcelColumns.Add(7, "G");
     ExcelColumns.Add(8, "H");
     ExcelColumns.Add(9, "I");
     ExcelColumns.Add(10, "J");
     ExcelColumns.Add(11, "K");
     ExcelColumns.Add(12, "L");
     ExcelColumns.Add(13, "M");
     ExcelColumns.Add(14, "N");
     ExcelColumns.Add(15, "O");
     ExcelColumns.Add(16, "P");
     ExcelColumns.Add(17, "Q");
     ExcelColumns.Add(18, "R");
     ExcelColumns.Add(19, "S");
     ExcelColumns.Add(20, "T");
     ExcelColumns.Add(21, "U");
     ExcelColumns.Add(22, "V");
     ExcelColumns.Add(23, "W");
     ExcelColumns.Add(24, "X");
     ExcelColumns.Add(25, "Y");
     ExcelColumns.Add(26, "Z");
 }
Example #2
0
        static void Main(string[] args)
        {
            List <ExcelColumn> columns = new List <ExcelColumn>()
            {
                new ExcelColumn {
                    ColumnName = "Name"
                },
                new ExcelColumn {
                    ColumnName = "Customer Reference Number"
                },
                new ExcelColumn {
                    ColumnName = "Gender", ValidationDataSet = new List <string>()
                    {
                        "Male", "Female"
                    }
                }
            };

            using (IExcelGenerator generator = new ExcelGenerator("anand.xlsx", "serviceSheet", "data"))
            {
                ExcelColumns excelColumns = new ExcelColumns(columns);

                var dataPopulater = generator.GetExcelDataPopulater(excelColumns);

                dataPopulater.PopulateData();

                generator.NativeExcelPackageObject.SaveAs(new FileInfo("./students.xlsx"));
            }
        }
        /// <summary>
        /// 取出列名及列号
        /// </summary>
        /// <param name="columnNameRow"></param>
        public void Caculate_Columns(int columnNameRow)
        {
            try
            {
                Cells cells = _workSheet.Cells;
                //int row = 0;
                int row2   = cells.MaxDataRow;
                int column = 0;
                int num    = cells.MaxDataColumn;
                if (num < 4)
                {
                    num = 4;
                }

                this.ExcelColumns = new Dictionary <string, int>();
                for (int i = column; i <= num; i++)
                {
                    try
                    {
                        string a = (cells[columnNameRow, i].Value == null) ? "" : cells[columnNameRow, i].Value.ToString();
                        ExcelColumns.Add(a, i);
                    }
                    catch
                    {
                    }
                }
            }
            catch
            {
                //Commons.ShowMessage_Info(DialogType.Warring, ex.Message);
            }
        }
Example #4
0
 public static void dumpExcel(IEnumerable<schools.dumpRow> datas, Stream str) {
   var cols = new ExcelColumns(typeof(schools.dumpRow));
   foreach (var key in cols.Keys.Where(k => k.EndsWith("Start") || k.EndsWith("End"))) {
     var col = cols[key];
     col.Format = ExcelFormat.Date;
     col.getData = d => LowUtils.IntToDate((long)d);
   }
   ExcelExport.linqToExcel(datas, str, cols);
 }
 /// <summary>
 ///     Removes the selected excel column from the excel column list
 /// </summary>
 public void RemoveFieldFromExcelColumns()
 {
     if (SelectedExcelColumn != null)
     {
         int columnNum = this.SelectedExcelColumn.ColumnNumber;
         ExcelColumns.Remove(ExcelColumns.Where(i => i.ColumnNumber == columnNum).Single());
         RenumberExcelColumns();
     }
 }
        public void ShoudGetAllColumns()
        {
            ExcelColumns columns = new ExcelColumns();
            ExcelColumn  column  = new ExcelColumn {
                ColumnName = "Test", ErrorMessage = "not"
            };

            columns.Add(column);
            Assert.IsType <List <ExcelColumn> >(columns.GetColumns());
        }
Example #7
0
        public List <string> PKColumnNameList()
        {
            List <string> result = new List <string>();

            foreach (ExcelColumn aExcelColumns in ExcelColumns.Where(aExcelColumns => aExcelColumns.IsPK == 1 && !result.Contains(aExcelColumns.ColumnName)))
            {
                result.Add(aExcelColumns.ColumnName);
            }
            return(result);
        }
Example #8
0
        public List <string> ColumnNameList()
        {
            List <string> result = new List <string>();

            if (ExcelColumns != null && ExcelColumns.Count > 0)
            {
                result.AddRange(ExcelColumns.Select(c => c.ColumnName));
            }
            return(result);
        }
Example #9
0
        public ExcelColumn ExcelColumnKey(string columnName)
        {
            ExcelColumn aExcelColumn = null;

            if (ExcelColumns != null && ExcelColumns.Any(c => c.ColumnName == columnName))
            {
                aExcelColumn = ExcelColumns.SingleOrDefault(c => c.ColumnName == columnName);
            }
            return(aExcelColumn);
        }
        public void ShouldAddOneColumn()
        {
            ExcelColumns columns = new ExcelColumns();
            ExcelColumn  column  = new ExcelColumn {
                ColumnName = "Test", ErrorMessage = "not"
            };

            columns.Add(column);
            Assert.True(columns.Count() == 1);
        }
Example #11
0
        public List <int> GetAllExcelColumnIndexes()
        {
            if (string.IsNullOrWhiteSpace(ExcelColumns))
            {
                return(new List <int>());
            }

            return(ExcelColumns.Replace(" ", "").Split(',')
                   .Select(x => x.Split('-'))
                   .Select(p => new { First = int.Parse(p.First()), Last = int.Parse(p.Last()) })
                   .SelectMany(x => Enumerable.Range(x.First, x.Last - x.First + 1))
                   .OrderBy(z => z).ToList());
        }
        public void ShouldGetExcelDataPopulater()
        {
            ExcelColumns columns = new ExcelColumns();
            ExcelColumn  column  = new ExcelColumn {
                ColumnName = "Test", ErrorMessage = "not"
            };

            columns.Add(column);

            IExcelDataPopulater excelDataPopulater = excelGenerator.GetExcelDataPopulater(columns);

            Assert.NotNull(excelDataPopulater);
        }
Example #13
0
        /// <summary>
        /// 返回建值对《key:外键ColumnName,Value:父Sheet中对应列名》
        /// </summary>
        /// <returns></returns>
        public Dictionary <string, string> FKColumnNameList()
        {
            Dictionary <string, string> result = null;

            foreach (ExcelColumn aExcelColumns in ExcelColumns.Where(aExcelColumns => aExcelColumns.IsFK == 1))
            {
                if (result == null)
                {
                    result = new Dictionary <string, string>();
                }
                if (!result.Keys.Contains(aExcelColumns.ColumnName))
                {
                    result.Add(aExcelColumns.ColumnName, aExcelColumns.FKColumnName);
                }
            }
            return(result);
        }
        public void ShoudPopulateData()
        {
            ExcelColumns columns = new ExcelColumns();
            ExcelColumn  column  = new ExcelColumn {
                ColumnName = "Test", ErrorMessage = "not"
            };

            columns.Add(column);

            IExcelDataPopulater excelDataPopulater = new ExcelDataPopulater(excelGenerator.NativeExcelPackageObject, excelGenerator.UiSheetName, excelGenerator.DataSheetName)
            {
                ExcelColumns = columns
            };

            excelDataPopulater.PopulateData();

            byte[] data = excelGenerator.GetAsByteArray();

            Assert.NotNull(data);
        }
Example #15
0
            public ExcelTable(ref ExcelColumns columns)
            {
                _columns = columns;
                _table = new ExcelObject("Table");

                if (_table != null)
                {
                    int _column_count = columns.Count();
                    for (int index = 0; index < _column_count; index++)
                    {
                        ExcelObject _value = columns.GetColumnObject(index);
                        _table.AddObject(-(index + 1), ref _value);
                    };
                };

                _rows = new SortedList();
            }
Example #16
0
            public ExcelTable CreateWorkSheet(string name, ref ExcelColumns columns)
            {
                ExcelTable result = null;

                if (_root != null)
                {
                    ExcelObject _worksheet = new ExcelObject("Worksheet");
                    if (_worksheet != null)
                    {
                        _worksheet.AddProperty("ss", "Name", name);

                        ExcelTable _table = new ExcelTable(ref columns);
                        if (_table != null)
                        {
                            ExcelObject _table_object = _table.GetTableObject();
                            if (_table_object != null)
                            {
                                _worksheet.AddObject(0, ref _table_object);
                                _table_object.IsNewLine = true;
                            };

                            result = _table;
                        };

                        //***_root.AddObject(0, ref _worksheet);
                    };
                };

                return result;
            }
Example #17
0
            public ExcelColumns CreateColumns(ref ExcelColumns exist_columns, ref DataTable data_table)
            {
                ExcelColumns result = null;
                int column_count = 0;

                if (exist_columns == null)
                    result = new ExcelColumns();
                else
                    result = exist_columns;

                if ((result != null) && (data_table != null))
                {
                    column_count = result.Count();
                    int global_index = 0;
                    for (int index = 0; index < data_table.Columns.Count; index++)
                    {
                        string _name = data_table.Columns[index].ColumnName.ToString();
                        string _alias = _name;

                        if (_name.ToLower() == "dateaquired")
                        {
                            _alias = "DateAcquired";
                        };

                        if (_column_filter.Length > 0)
                        {
                            if (_name.ToLower().Contains(_column_filter.ToLower()) && _name != "AssetGUID")
                                continue;
                        };

                        string _type = ConvertSystemTypeToExcelType(data_table.Columns[index].DataType.ToString());
                        string _system_type = data_table.Columns[index].DataType.ToString();
                        string _style_id = ConvertSystemTypeToExcelStyle(data_table.Columns[index].DataType.ToString());

                        int _width = ConvertSystemTypeToCellWidth(data_table.Columns[index].DataType.ToString());

                        //columns and rows stored on common table object, need set not collise indexes
                        result.AddColumn(column_count + global_index + 1, _name, _alias, _width, _type, _system_type, _style_id);
                        global_index++;
                    };
                };

                return result;
            }
Example #18
0
            public ExcelRow AddHeader(ref ExcelTable excel_table, ref ExcelColumns exist_columns)
            {
                ExcelRow result = null;

                if ((excel_table != null) && (exist_columns != null))
                {
                    int column_count = exist_columns.Count();
                    if (column_count > 0)
                    {
                        result = AddRow(0, ref excel_table);
                        if (result != null)
                        {
                            string column_name = string.Empty;
                            string column_alias = string.Empty;
                            for (int index = 0; index < column_count; index++)
                            {
                                ExcelObject _object = exist_columns.GetColumnObject(index);
                                if (_object != null)
                                {
                                    column_name = _object.GetPropertyValue("Name");
                                    column_alias = _object.GetPropertyValue("Alias");
                                };

                                if (column_name.Length > 0)
                                    result.SetHeaderValue(column_name, column_alias);
                            };
                        };
                    };
                };

                return result;
            }
Example #19
0
            //Warning: this function not filter columns by filter;
            public ExcelColumns AddColumn(ref ExcelColumns exist_columns, string column_name, string column_system_type)
            {
                ExcelColumns result = null;
                int column_count = 0;

                if (exist_columns == null)
                    result = new ExcelColumns();
                else
                    result = exist_columns;

                if ((result != null) && (column_name.Length > 0))
                {
                    column_count = result.Count();

                    string _name = column_name;

                    string __type = ConvertSystemTypeToExcelType(column_system_type);
                    string __system_type = column_system_type;
                    string __style_id = ConvertSystemTypeToExcelStyle(column_system_type);

                    int __width = ConvertSystemTypeToCellWidth(column_system_type);

                    string _alias = _name;
                    if (_name.ToLower() == "dateaquired")
                        _alias = "DateAcquired";

                    result.AddColumn(column_count + 1, _name, _alias, __width, __type, __system_type, __style_id);
                };

                return result;
            }
Example #20
0
            public ExcelColumns AddColumn(ref ExcelColumns exist_columns, ref DataColumn data_column)
            {
                ExcelColumns result = null;
                int column_count = 0;

                if (exist_columns == null)
                    result = new ExcelColumns();
                else
                    result = exist_columns;

                if ((result != null) && (data_column != null))
                {
                    column_count = result.Count();

                    string _name = data_column.ColumnName.ToString();

                    if (_column_filter.Length > 0)
                    {
                        if (_name.ToLower().Contains(_column_filter.ToLower()) && _name != "AssetGUID")
                        {
                            string __type = ConvertSystemTypeToExcelType(data_column.DataType.ToString());
                            string __system_type = data_column.DataType.ToString();
                            string __style_id = ConvertSystemTypeToExcelStyle(data_column.DataType.ToString());

                            int __width = ConvertSystemTypeToCellWidth(data_column.DataType.ToString());

                            string _alias = _name;
                            if (_name.ToLower() == "dateaquired")
                                _alias = "DateAcquired";

                            //columns and rows stored on common table object, need set not collise indexes
                            result.AddColumn(column_count + 1, _name, _alias, __width, __type, __system_type, __style_id);
                        };
                    }
                    else
                    {
                        string _type = ConvertSystemTypeToExcelType(data_column.DataType.ToString());
                        string _system_type = data_column.DataType.ToString();
                        string _style_id = ConvertSystemTypeToExcelStyle(data_column.DataType.ToString());

                        int _width = ConvertSystemTypeToCellWidth(data_column.DataType.ToString());

                        string _alias = _name;
                        if (_name.ToLower() == "dateaquired")
                            _alias = "DateAcquired";

                        //columns and rows stored on common table object, need set not collise indexes
                        result.AddColumn(column_count + 1, _name, _alias, _width, _type, _system_type, _style_id);
                    };
                };

                return result;
            }
        /// <summary>
        ///     Adjusts the numbers of the excelcolumns
        /// </summary>
        public void RenumberExcelColumns()
        {
            int count = 1;

            foreach (ExcelCell x in this.ExcelColumns)
            {
                x.ColumnNumber = count;
                x.ColumnLetter = ExcelService.ReturnColumLetter(count);
                count++;
            }
            ObservableCollection <ExcelCell> newExcelColumns = new ObservableCollection <ExcelCell>(ExcelColumns.OrderBy(i => i.ColumnNumber));

            this.ExcelColumns = newExcelColumns;
        }
Example #22
0
        public bool IsEveryColumnCorred()
        {
            bool result = ExcelColumns.All(aExcelColumn => ColumnRule(aExcelColumn.ColumnName) != null);

            return(result);
        }