Ejemplo n.º 1
0
        public void DefaultNumberFormatTest()
        {
            var data = new[]
            {
                new { TextValue = "SomeText", DateValue = DateTime.Now, DoubleValue = 10.2, IntValue = 5 }
            };

            var dynamicProperties = new[]
            {
                DynamicProperty.Create(data, "DynamicColumn1", "Display Name 1", typeof(DateTime?), n => DateTime.Now.AddDays(n.IntValue - 4)),
                DynamicProperty.Create(data, "DynamicColumn2", "Display Name 2", typeof(double), n => n.DoubleValue - 0.2)
            };


            var excelPackage = EnumerableExporter.Create(data, dynamicProperties)
                               .DefaultNumberFormat(typeof(DateTime), "| yyyy-MM-dd")
                               .DefaultNumberFormat(typeof(DateTime?), "|| yyyy-MM-dd")
                               .DefaultNumberFormat(typeof(double), "0.00 $")
                               .DefaultNumberFormat(typeof(int), "00")
                               .CreateExcelPackage();
            var excelWorksheet = excelPackage.Workbook.Worksheets.First();

            //TestHelper.OpenDocument(excelPackage);

            string numberDecimalSeparator = NumberFormatInfo.CurrentInfo.NumberDecimalSeparator;

            Assert.IsTrue(excelWorksheet.Cells[2, 2].Text == DateTime.Today.ToString("| yyyy-MM-dd"));             //DateValue
            Assert.IsTrue(excelWorksheet.Cells[2, 3].Text == $"10{numberDecimalSeparator}20 $");                   //DoubleValue
            Assert.IsTrue(excelWorksheet.Cells[2, 4].Text == "05");                                                //IntValue
            Assert.IsTrue(excelWorksheet.Cells[2, 5].Text == DateTime.Today.AddDays(1).ToString("|| yyyy-MM-dd")); //DynamicColumn1
            Assert.IsTrue(excelWorksheet.Cells[2, 6].Text == $"10{numberDecimalSeparator}00 $");                   //DynamicColumn2
        }
Ejemplo n.º 2
0
        public void ConditionalStyleForTest()
        {
            var data = new[]
            {
                new { TextValue = "SomeText0", DateValue = DateTime.Now, DoubleValue = 0, IntValue = 5 },
                new { TextValue = "SomeText1", DateValue = DateTime.Now, DoubleValue = 1, IntValue = 5 },
                new { TextValue = "SomeText2", DateValue = DateTime.Now, DoubleValue = 2, IntValue = 5 },
                new { TextValue = "SomeText3", DateValue = DateTime.Now, DoubleValue = 3, IntValue = 5 }
            };

            var exporter = EnumerableExporter.Create(data)
                           .ConditionalStyleFor(n => n.DoubleValue, (entry, style) =>
            {
                if (entry.DoubleValue > 1)
                {
                    style.Border.Bottom.Style = ExcelBorderStyle.Thick;
                }
            });

            var excelPackage = exporter.CreateExcelPackage();
            //TestHelper.OpenDocument(excelPackage);

            var excelWorksheet = excelPackage.Workbook.Worksheets.First();

            Assert.IsTrue(excelWorksheet.Cells[3, 3].Style.Border.Bottom.Style == ExcelBorderStyle.None);
            Assert.IsTrue(excelWorksheet.Cells[4, 3].Style.Border.Bottom.Style == ExcelBorderStyle.Thick);
        }
Ejemplo n.º 3
0
        public void ConfigureTest()
        {
            var data = new[]
            {
                new { TextValue = "SomeText", DateValue = DateTime.Now, DoubleValue = 10.2, IntValue = 5 }
            };

            var excelPackage = EnumerableExporter.Create(data)
                               .CustomizeTable(range =>
            {
                var newRange = range.Worksheet.Cells[range.End.Row, range.Start.Column, range.End.Row, range.End.Column];
                newRange.Style.Fill.PatternType = ExcelFillStyle.Solid;
                newRange.Style.Fill.BackgroundColor.SetColor(Color.HotPink);
            })
                               .CreateExcelPackage();

            //TestHelper.OpenDocument(excelPackage);

            var excelWorksheet = excelPackage.Workbook.Worksheets.First();

            //header
            excelWorksheet.Cells[1, 1].Style.Fill.BackgroundColor.Rgb.ShouldNotBe("FFFF69B4");

            //data
            excelWorksheet.Cells[2, 1].Style.Fill.BackgroundColor.Rgb.ShouldBe("FFFF69B4");
        }
Ejemplo n.º 4
0
        public void ExportNullTest()
        {
            IList <Tuple <string, int, bool> > data = null;

            // ReSharper disable once ExpressionIsAlwaysNull
            Assert.IsNull(EnumerableExporter.Create(data).CreateExcelPackage());
            // ReSharper disable once ExpressionIsAlwaysNull
            Assert.IsNull(ObjectExporter.Create(data).AppendToExcelPackage(TestHelper.FakeAnExistingDocument()));
        }
Ejemplo n.º 5
0
        private static void ExportEnumerable()
        {
            Console.WriteLine("Create fake data...");
            var faker = new Faker <Employee>().CustomInstantiator(n => new Employee());
            var data  = faker.Generate(1000);

            Console.WriteLine("Exporting Enumerable...");
            Action <Employee, ExcelStyle> largeFamilyStyle = (employee, style) =>
            {
                if (employee.ChildrenCount > 3)
                {
                    style.Fill.PatternType = ExcelFillStyle.Solid;
                    style.Fill.BackgroundColor.SetColor(Color.Orange);
                }
            };

            var exporter = EnumerableExporter.Create(data)
                           .DefaultNumberFormat(typeof(DateTime), "yyyy-MM-dd")
                           .NumberFormatFor(n => n.DateHired, "dd-MM-yyyy")
                           .NumberFormatFor(n => n.DateHired, "dd-MM-yyyy")
                           .NumberFormatFor(n => n.ShoeSize, "0.0")
                           .NumberFormatFor(n => n.ChangeInPocket, "0.00 $")
                           .NumberFormatFor(n => n.CarValue, "#,##0.00 $")
                           .Ignore(n => n.Email)
                           .TextFormatFor(n => n.Phone, "Cell: {0}")
                           .StyleFor(n => n.DateContractEnd, style =>
            {
                style.Fill.Gradient.Color1.SetColor(Color.Yellow);
                style.Fill.Gradient.Color2.SetColor(Color.Green);
            })
                           .ConditionalStyleFor(n => n.ShoeSize, (employee, style) =>
            {
                style.Fill.PatternType = ExcelFillStyle.Solid;
                if (employee.ShoeSize >= 11)
                {
                    style.Fill.BackgroundColor.SetColor(Color.OrangeRed);
                }
                else if (employee.ShoeSize < 8)
                {
                    style.Fill.BackgroundColor.SetColor(Color.ForestGreen);
                }
                else
                {
                    style.Fill.BackgroundColor.SetColor(Color.Yellow);
                }
            })
                           .ConditionalStyleFor(n => n.FirstName, largeFamilyStyle)
                           .ConditionalStyleFor(n => n.LastName, largeFamilyStyle)
                           .ConditionalStyleFor(n => n.Phone, largeFamilyStyle)
                           .ConditionalStyleFor(n => n.ChildrenCount, largeFamilyStyle);


            var excelPackage = exporter.CreateExcelPackage();

            SaveAndOpenDocument(excelPackage);
        }
Ejemplo n.º 6
0
        public void ExportEmptyEnumerableTest()
        {
            var data = Enumerable.Empty <Tuple <string, int, bool> >();

            var excelPackage = EnumerableExporter.Create(data).CreateExcelPackage();

            //TestHelper.OpenDocument(excelPackage);

            Assert.IsNotNull(excelPackage);
        }
Ejemplo n.º 7
0
        public void AddWorksheetToNullPackageTest()
        {
            var data = new[]
            {
                new { TextValue = "SomeText", DateValue = DateTime.Now, DoubleValue = 10.2, IntValue = 5 }
            };

            ArgumentNullException ex = Assert.Throws <ArgumentNullException>(() => EnumerableExporter.Create(data).AppendToExcelPackage(null));

            ex.ParamName.ShouldBe("package");
        }
Ejemplo n.º 8
0
        public void CreateExcelPackageTest()
        {
            var data = new[]
            {
                new { TextValue = "SomeText", DateValue = DateTime.Now, DoubleValue = 10.2, IntValue = 5 }
            };

            var excelPackage = EnumerableExporter.Create(data).CreateExcelPackage();

            Assert.IsTrue(excelPackage.Workbook.Worksheets.Count == 1);
        }
Ejemplo n.º 9
0
        public void ConfigureTest()
        {
            var data = new[]
            {
                new { TextValue = "SomeText", DateValue = DateTime.Now, DoubleValue = 10.2, IntValue = 5 }
            };

            var excelPackage = EnumerableExporter.Create(data)
                               .Configure(n => n.IntValue, configuration =>
            {
                configuration.Header.Text = "";
            })
                               .Configure(n => n.DateValue, configuration =>
            {
                configuration.Header.Text     = " ";
                configuration.Header.SetStyle = style =>
                {
                    style.Border.Bottom.Style = ExcelBorderStyle.Thick;
                };
                configuration.Content.NumberFormat = "dd-MM-yyyy";
                configuration.Content.SetStyle     = style =>
                {
                    style.Border.Left.Style  = ExcelBorderStyle.Dashed;
                    style.Border.Right.Style = ExcelBorderStyle.Dashed;
                };
            })
                               .CustomizeTable(range =>
            {
                var newRange = range.Worksheet.Cells[range.End.Row, range.Start.Column, range.End.Row, range.End.Column];
                newRange.Style.Fill.PatternType = ExcelFillStyle.Solid;
                newRange.Style.Fill.BackgroundColor.SetColor(Color.HotPink);
            })
                               .CreateExcelPackage();

            //TestHelper.OpenDocument(excelPackage);


            var excelWorksheet = excelPackage.Workbook.Worksheets.First();

            //header
            Assert.IsTrue(excelWorksheet.Cells[1, 2].Style.Border.Bottom.Style == ExcelBorderStyle.Thick);
            Assert.IsTrue(excelWorksheet.Cells[1, 2].Text == " ");
            Assert.IsTrue(excelWorksheet.Cells[1, 4].Text == "Int Value");
            Assert.IsTrue(excelWorksheet.Cells[1, 1].Style.Fill.BackgroundColor.Rgb != "FFFF69B4");

            //data
            Assert.IsTrue(excelWorksheet.Cells[2, 2].Text == DateTime.Now.ToString("dd-MM-yyyy"));
            Assert.IsTrue(excelWorksheet.Cells[2, 2].Style.Border.Left.Style == ExcelBorderStyle.Dashed);
            Assert.IsTrue(excelWorksheet.Cells[2, 2].Style.Border.Right.Style == ExcelBorderStyle.Dashed);
            Assert.IsTrue(excelWorksheet.Cells[2, 1].Style.Fill.BackgroundColor.Rgb == "FFFF69B4");
        }
Ejemplo n.º 10
0
        public static void Sample1()
        {
            var data = new[]
            {
                new { TextValue = "Text #1", DateValue = DateTime.Now, DoubleValue = 10.1, IntValue = 1 },
                new { TextValue = "Text #2", DateValue = DateTime.Now, DoubleValue = 10.2, IntValue = 2 },
                new { TextValue = "Text #3", DateValue = DateTime.Now, DoubleValue = 10.3, IntValue = 3 },
                new { TextValue = "Text #4", DateValue = DateTime.Now, DoubleValue = 10.4, IntValue = 4 }
            };

            var excelPackage = EnumerableExporter.Create(data).CreateExcelPackage();

            Program.SaveAndOpenDocument(excelPackage);
        }
Ejemplo n.º 11
0
        public void IgnoreTest()
        {
            var data = new[]
            {
                new { TextValue = "SomeText", DateValue = DateTime.Now, DoubleValue = 10.2, IntValue = 5 }
            };

            var excelWorksheet = EnumerableExporter.Create(data)
                                 .Ignore(n => n.TextValue)
                                 .CreateExcelPackage()
                                 .Workbook.Worksheets.First();

            Assert.IsTrue(excelWorksheet.Cells[1, 1].Text == "Date Value");
        }
Ejemplo n.º 12
0
        public void StyleForTest()
        {
            var data = new[]
            {
                new { TextValue = "SomeText", DateValue = DateTime.Now, DoubleValue = 10.2, IntValue = 5 }
            };

            const string dateFormat = "yyyy-MM-dd HH:mm";
            var          exporter   = EnumerableExporter.Create(data)
                                      .StyleFor(n => n.DateValue, n => n.Numberformat.Format = dateFormat);

            var excelPackage   = exporter.CreateExcelPackage();
            var excelWorksheet = excelPackage.Workbook.Worksheets.First();

            Assert.IsTrue(excelWorksheet.Cells[2, 2].Text == data.First().DateValue.ToString(dateFormat)); //DateValue
        }
        public void AddWorksheetToNullPackageTest()
        {
            var data = new[]
            {
                new { TextValue = "SomeText", DateValue = DateTime.Now, DoubleValue = 10.2, IntValue = 5 }
            };

            try
            {
                EnumerableExporter.Create(data).AppendToExcelPackage(null);
                Assert.Fail();
            }
            catch (ArgumentNullException ex)
            {
                Assert.IsTrue(ex.ParamName == "package");
            }
        }
Ejemplo n.º 14
0
        public void HeaderStyleForTest()
        {
            var data = new[]
            {
                new { TextValue = "SomeText", DateValue = DateTime.Now, DoubleValue = 10.2, IntValue = 5 }
            };

            var exporter = EnumerableExporter.Create(data)
                           .HeaderStyleFor(n => new { n.DateValue, n.DoubleValue, n.IntValue },
                                           style => style.Border.Bottom.Style = ExcelBorderStyle.Thick);

            var excelPackage = exporter.CreateExcelPackage();
            //TestHelper.OpenDocument(excelPackage);

            var excelWorksheet = excelPackage.Workbook.Worksheets.First();

            Assert.IsTrue(excelWorksheet.Cells[1, 2].Style.Border.Bottom.Style == ExcelBorderStyle.Thick);
        }
Ejemplo n.º 15
0
        public void NumberFormatForTest()
        {
            var data = new[]
            {
                new { TextValue = "SomeText", DateValue = DateTime.Now, DoubleValue = 10.2, IntValue = 5 }
            };

            var excelWorksheet = EnumerableExporter.Create(data)
                                 .NumberFormatFor(n => n.DateValue, "DATE: yyyy-MM-dd")
                                 .NumberFormatFor(n => n.DoubleValue, "0.00 $")
                                 .NumberFormatFor(n => n.IntValue, "00")
                                 .CreateExcelPackage()
                                 .Workbook.Worksheets.First();

            Assert.IsTrue(excelWorksheet.Cells[2, 2].Text == DateTime.Today.ToString("DATE: yyyy-MM-dd")); //DateValue
            Assert.IsTrue(excelWorksheet.Cells[2, 3].Text == "10.20 $");                                   //DoubleValue
            Assert.IsTrue(excelWorksheet.Cells[2, 4].Text == "05");                                        //IntValue
        }
Ejemplo n.º 16
0
        public void TableCreationTest()
        {
            const string tableName = "MyTable";
            var          data      = new[]
            {
                new { TextValue = "SomeText", DateValue = DateTime.Now, DoubleValue = 10.2, IntValue = 5 }
            };

            var exporter = EnumerableExporter.Create(data);

            exporter.WorksheetName = tableName;
            exporter.TableStyle    = TableStyles.Dark10;

            var excelPackage = exporter.CreateExcelPackage();

            var sheetToCheck = excelPackage.Workbook.Worksheets.Last();

            sheetToCheck.Tables[tableName].TableStyle.ShouldBe(exporter.TableStyle);
        }
Ejemplo n.º 17
0
        public void DefaultNumberFormatTest()
        {
            var data = new[]
            {
                new { TextValue = "SomeText", DateValue = DateTime.Now, DoubleValue = 10.2, IntValue = 5 }
            };

            var excelWorksheet = EnumerableExporter.Create(data)
                                 .DefaultNumberFormat(typeof(DateTime), "DATE: yyyy-MM-dd")
                                 .DefaultNumberFormat(typeof(double), "0.00 $")
                                 .DefaultNumberFormat(typeof(int), "00")
                                 .CreateExcelPackage()
                                 .Workbook.Worksheets.First();

            string numberDecimalSeparator = NumberFormatInfo.CurrentInfo.NumberDecimalSeparator;

            Assert.IsTrue(excelWorksheet.Cells[2, 2].Text == DateTime.Today.ToString("DATE: yyyy-MM-dd")); //DateValue
            Assert.IsTrue(excelWorksheet.Cells[2, 3].Text == $"10{numberDecimalSeparator}20 $");           //DoubleValue
            Assert.IsTrue(excelWorksheet.Cells[2, 4].Text == "05");                                        //IntValue
        }
Ejemplo n.º 18
0
        public void WorksheetConfigurationTest()
        {
            const string newWorksheetName = "NewSheet";
            var          data             = new[]
            {
                new { TextValue = "SomeText", DateValue = DateTime.Now, DoubleValue = 10.2, IntValue = 5 }
            };

            var excelPackage = TestHelper.FakeAnExistingDocument();
            var eporter      = EnumerableExporter.Create(data);

            //set properties
            eporter.WorksheetName = newWorksheetName;
            eporter.AppendToExcelPackage(excelPackage);

            //check properties
            var sheetToCheck = excelPackage.Workbook.Worksheets.Last();

            Assert.IsTrue(sheetToCheck.Name == newWorksheetName);
        }
Ejemplo n.º 19
0
        public void NumberFormatForTest()
        {
            var data = new[]
            {
                new { TextValue = "SomeText", DateValue = DateTime.Now, DoubleValue = 10.2, IntValue = 5 }
            };

            var excelWorksheet = EnumerableExporter.Create(data)
                                 .NumberFormatFor(n => n.DateValue, "DATE: yyyy-MM-dd")
                                 .NumberFormatFor(n => n.DoubleValue, "0.00 $")
                                 .NumberFormatFor(n => n.IntValue, "00")
                                 .CreateExcelPackage()
                                 .Workbook.Worksheets.First();

            string numberDecimalSeparator = NumberFormatInfo.CurrentInfo.NumberDecimalSeparator;

            excelWorksheet.Cells[2, 2].Text.ShouldBe(DateTime.Today.ToString("DATE: yyyy-MM-dd")); //DateValue
            excelWorksheet.Cells[2, 3].Text.ShouldBe($"10{numberDecimalSeparator}20 $");           //DoubleValue
            excelWorksheet.Cells[2, 4].Text.ShouldBe("05");                                        //IntValue
        }
Ejemplo n.º 20
0
        public void TextFormatForTest()
        {
            var data = new[]
            {
                new { TextValue = "SomeText", DateValue = DateTime.Now, DoubleValue = 10.2, IntValue = 5 }
            };

            const string textFormat = "Prefix: {0}";
            const string dateFormat = "{0:yyyy-MM-dd HH:mm}";
            var          exporter   = EnumerableExporter.Create(data)
                                      .TextFormatFor(n => n.TextValue, textFormat)
                                      .TextFormatFor(n => n.DateValue, dateFormat);

            var excelPackage   = exporter.CreateExcelPackage();
            var excelWorksheet = excelPackage.Workbook.Worksheets.First();

            Assert.IsTrue(excelWorksheet.Cells[2, 1].Text == string.Format(textFormat, data.First().TextValue));             //TextValue
            Assert.IsTrue(excelWorksheet.Cells[2, 2].Text == string.Format(dateFormat, data.First().DateValue));             //DateValue
            Assert.IsTrue(excelWorksheet.Cells[2, 2].Value.ToString() == string.Format(dateFormat, data.First().DateValue)); //DateValue
        }
Ejemplo n.º 21
0
        public void FormulaForTest()
        {
            var data = new[]
            {
                new { TextValue = "SomeText0", DateValue = DateTime.Now, DoubleValue = 0, IntValue = 5 },
                new { TextValue = "SomeText1", DateValue = DateTime.Now, DoubleValue = 1, IntValue = 5 },
                new { TextValue = "SomeText2", DateValue = DateTime.Now, DoubleValue = 2, IntValue = 5 },
                new { TextValue = "SomeText3", DateValue = DateTime.Now, DoubleValue = 3, IntValue = 5 }
            };

            var exporter = EnumerableExporter.Create(data)
                           .FormulaFor(n => n.TextValue, (row, value) => $"=\"Text=\" & \"{value}-\" & \"{row.DoubleValue:0.00}\"");

            var excelPackage = exporter.CreateExcelPackage();
            //TestHelper.OpenDocument(excelPackage);

            var excelWorksheet = excelPackage.Workbook.Worksheets.First();

            Assert.IsTrue(excelWorksheet.Cells[3, 1].Formula == "=\"Text=\" & \"SomeText1-\" & \"1.00\"");
            Assert.IsTrue(excelWorksheet.Cells[4, 1].Formula == "=\"Text=\" & \"SomeText2-\" & \"2.00\"");
        }
Ejemplo n.º 22
0
        public void DisplayTest()
        {
            var data = new[]
            {
                new { TextValue = "SomeText", DateValue = DateTime.Now, DoubleValue = 10.2, IntValue = 5 }
            };

            var excelWorksheet = EnumerableExporter.Create(data)
                                 .Ignore(n => n.DateValue)
                                 .Display(n => new
            {
                n.TextValue,
                n.DoubleValue
            })
                                 .CreateExcelPackage()
                                 .Workbook.Worksheets.First();

            excelWorksheet.Cells[1, 1].Text.ShouldBe("Text Value");
            excelWorksheet.Cells[1, 2].Text.ShouldBe("Double Value");
            excelWorksheet.Cells[1, 3].Text.ShouldBe(string.Empty);
        }
Ejemplo n.º 23
0
        public void AutoFitColumnsTest()
        {
            var data = new[]
            {
                new { TextValue = "The quick brown fox jumps over the lazy dog", DateValue = DateTime.Now, DoubleValue = 10.2, IntValue = 5 }
            };

            {
                var exporter = EnumerableExporter.Create(data, TableStyles.None)
                               .Configure(n => n.IntValue, configuration => configuration.Width = 60);
                exporter.AutoFitColumns = false;

                var excelPackage = exporter.CreateExcelPackage();
                //TestHelper.OpenDocument(excelPackage);

                var excelWorksheet = excelPackage.Workbook.Worksheets.First();

                //The two first columns should have the same size
                Math.Abs(excelWorksheet.Column(1).Width - excelWorksheet.Column(2).Width).ShouldBeLessThan(0.001);
                Math.Abs(excelWorksheet.Column(4).Width - 60).ShouldBeLessThan(0.001);
            }

            {
                var exporter = EnumerableExporter.Create(data, TableStyles.None)
                               .Configure(n => n.IntValue, configuration => configuration.Width = 60);
                exporter.AutoFitColumns = true;

                var excelPackage = exporter.CreateExcelPackage();
                //TestHelper.OpenDocument(excelPackage);

                var excelWorksheet = excelPackage.Workbook.Worksheets.First();

                var test1 = excelWorksheet.Column(1).Width;
                var test2 = excelWorksheet.Column(2).Width;
                var test4 = excelWorksheet.Column(4).Width;
                //The two first columns should have the same size
                Math.Abs(excelWorksheet.Column(1).Width - excelWorksheet.Column(2).Width).ShouldBeGreaterThan(0.001);
                Math.Abs(excelWorksheet.Column(4).Width - 60).ShouldBeLessThan(0.001);
            }
        }
Ejemplo n.º 24
0
        public static void Sample3()
        {
            var data = new[]
            {
                new { TextValue = "Text #1", DateValue = DateTime.Now, DoubleValue = 10.1, IntValue = 1 },
                new { TextValue = "Text #2", DateValue = DateTime.Now, DoubleValue = 10.2, IntValue = 2 },
                new { TextValue = "Text #3", DateValue = DateTime.Now, DoubleValue = 10.3, IntValue = 3 },
                new { TextValue = "Text #4", DateValue = DateTime.Now, DoubleValue = 10.4, IntValue = 4 }
            };

            var exporter = EnumerableExporter.Create(data)
                           .NumberFormatFor(n => n.DateValue, "yyyy-mmm-dd")
                           .NumberFormatFor(n => new
            {
                n.DoubleValue,
                n.IntValue
            }, "0.00");

            var excelPackage = exporter.CreateExcelPackage();

            Program.SaveAndOpenDocument(excelPackage);
        }
Ejemplo n.º 25
0
        public void WorksheetConfigurationTest()
        {
            const string newWorksheetName = "1 - NewSheet";
            const string newWorksheetExpectedTableName = "_1_-_NewSheet";
            var          data = new[]
            {
                new { TextValue = "SomeText", DateValue = DateTime.Now, DoubleValue = 10.2, IntValue = 5 }
            };

            var excelPackage = TestHelper.FakeAnExistingDocument();
            var eporter      = EnumerableExporter.Create(data);

            //set properties
            eporter.WorksheetName = newWorksheetName;
            var sheetToCheck = eporter.AppendToExcelPackage(excelPackage);

            //TestHelper.OpenDocument(excelPackage);

            //check properties
            Assert.IsTrue(sheetToCheck.Name == newWorksheetName);
            Assert.IsNotNull(sheetToCheck.Tables[newWorksheetExpectedTableName]);
        }
Ejemplo n.º 26
0
        public void AppendToExcelPackageTest()
        {
            var data = new[]
            {
                new { TextValue = "SomeText", DateValue = DateTime.Now, DoubleValue = 10.2, IntValue = 5 }
            };

            var excelPackage = TestHelper.FakeAnExistingDocument();

            EnumerableExporter.Create(data)
            .CustomizeTable(range =>
            {
                var newRange = range.Worksheet.Cells[range.End.Row, range.Start.Column, range.End.Row, range.End.Column];
                newRange.Style.Fill.PatternType = ExcelFillStyle.Solid;
                newRange.Style.Fill.BackgroundColor.SetColor(Color.HotPink);
            })
            .AppendToExcelPackage(excelPackage);

            //TestHelper.OpenDocument(excelPackage);

            Assert.IsTrue(excelPackage.Workbook.Worksheets.Count == 2);
        }
Ejemplo n.º 27
0
        public static void Sample2()
        {
            var data = new[]
            {
                new { TextValue = "Text #1", DateValue = DateTime.Now, DoubleValue = 10.1, IntValue = 1 },
                new { TextValue = "Text #2", DateValue = DateTime.Now, DoubleValue = 10.2, IntValue = 2 },
                new { TextValue = "Text #3", DateValue = DateTime.Now, DoubleValue = 10.3, IntValue = 3 },
                new { TextValue = "Text #4", DateValue = DateTime.Now, DoubleValue = 10.4, IntValue = 4 }
            };

            var exporter = EnumerableExporter.Create(data)
                           .TextFormatFor(n => n.TextValue, "Prefix: {0}")
                           .NumberFormatFor(n => n.DateValue, "yyyy-MM-dd")
                           .DefaultNumberFormat(typeof(double), "0.00 $")
                           .Ignore(n => n.IntValue);

            exporter.WorksheetName = "MyData";
            exporter.TableStyle    = TableStyles.Medium2;

            var excelPackage = exporter.CreateExcelPackage();

            Program.SaveAndOpenDocument(excelPackage);
        }
Ejemplo n.º 28
0
        public void ConfigureTest()
        {
            var data = new[]
            {
                new { TextValue = "SomeText", DateValue = DateTime.Now, DoubleValue = 10.2, IntValue = 5 }
            };

            var dynamicProperties = new[]
            {
                DynamicProperty.Create(data, "DynamicColumn1", "Display Name 1", typeof(DateTime?), n => DateTime.Now.AddDays(n.IntValue - 4)),
                DynamicProperty.Create(data, "DynamicColumn2", "Display Name 2", typeof(double), n => n.DoubleValue - 0.2)
            };

            var excelPackage = EnumerableExporter.Create(data, dynamicProperties)
                               .Configure(n => n.IntValue, configuration =>
            {
                configuration.Header.Text = "";
            })
                               .Configure(n => n.DateValue, configuration =>
            {
                configuration.Header.Text     = " ";
                configuration.Header.SetStyle = style =>
                {
                    style.Border.Bottom.Style = ExcelBorderStyle.Thick;
                };
                configuration.Content.NumberFormat = "dd-MM-yyyy";
                configuration.Content.SetStyle     = style =>
                {
                    style.Border.Left.Style  = ExcelBorderStyle.Dashed;
                    style.Border.Right.Style = ExcelBorderStyle.Dashed;
                };
            })
                               .Configure(new [] { "DynamicColumn1", "IntValue" }, n =>
            {
                n.Header.SetStyle = style =>
                {
                    style.Font.Bold = true;
                    style.Font.Color.SetColor(Color.Black);
                };
            })
                               .CustomizeTable(range =>
            {
                var newRange = range.Worksheet.Cells[range.End.Row, range.Start.Column, range.End.Row, range.End.Column];
                newRange.Style.Fill.PatternType = ExcelFillStyle.Solid;
                newRange.Style.Fill.BackgroundColor.SetColor(Color.HotPink);
            })
                               .CreateExcelPackage();

            //TestHelper.OpenDocument(excelPackage);


            var excelWorksheet = excelPackage.Workbook.Worksheets.First();

            //header
            excelWorksheet.Cells[1, 2].Style.Border.Bottom.Style.ShouldBe(ExcelBorderStyle.Thick);
            excelWorksheet.Cells[1, 2].Style.Border.Bottom.Style.ShouldBe(ExcelBorderStyle.Thick);
            excelWorksheet.Cells[1, 2].Text.ShouldBe(" ");
            excelWorksheet.Cells[1, 4].Text.ShouldBe("Int Value");
            excelWorksheet.Cells[1, 1].Style.Fill.BackgroundColor.Rgb.ShouldNotBe("FFFF69B4");

            //data
            excelWorksheet.Cells[2, 2].Text.ShouldBe(DateTime.Now.ToString("dd-MM-yyyy"));
            excelWorksheet.Cells[2, 2].Style.Border.Left.Style.ShouldBe(ExcelBorderStyle.Dashed);
            excelWorksheet.Cells[2, 2].Style.Border.Right.Style.ShouldBe(ExcelBorderStyle.Dashed);
            excelWorksheet.Cells[2, 1].Style.Fill.BackgroundColor.Rgb.ShouldBe("FFFF69B4");
        }