コード例 #1
0
        public void CreateExcelPackageTest()
        {
            var data = new { TextValue = "SomeText", DateValue = DateTime.Now, DoubleValue = 10.2, IntValue = 5 };

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

            Assert.IsTrue(excelPackage.Workbook.Worksheets.Count == 1);
        }
コード例 #2
0
        public static void Sample1()
        {
            var data = new { TextValue = "Text #1", DateValue = DateTime.Now, DoubleValue = 10.1, IntValue = 1 };

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

            Program.SaveAndOpenDocument(excelPackage);
        }
コード例 #3
0
        public void ExportNullTest()
        {
            IList <Tuple <string, int, bool> > data = null;

            // ReSharper disable once ExpressionIsAlwaysNull
            Assert.IsNull(ObjectExporter.Create(data).CreateExcelPackage());
            // ReSharper disable once ExpressionIsAlwaysNull
            Assert.IsNull(ObjectExporter.Create(data).AppendToExcelPackage(TestHelper.FakeAnExistingDocument()));
        }
コード例 #4
0
        public void AppendToExcelPackageTest()
        {
            var data = new { TextValue = "SomeText", DateValue = DateTime.Now, DoubleValue = 10.2, IntValue = 5 };

            var excelPackage = TestHelper.FakeAnExistingDocument();

            ObjectExporter.Create(data).AppendToExcelPackage(excelPackage);
            Assert.IsTrue(excelPackage.Workbook.Worksheets.Count == 2);
            //TestHelper.OpenDocumentIfRequired(excelPackage);
        }
コード例 #5
0
        public void IgnoreTest()
        {
            var data = new { TextValue = "SomeText", DateValue = DateTime.Now, DoubleValue = 10.2, IntValue = 5 };

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

            Assert.IsTrue(excelWorksheet.Cells[2, 1].Text == "Date Value");
        }
コード例 #6
0
        public void StyleForTest()
        {
            var data = new { TextValue = "SomeText", DateValue = DateTime.Now, DoubleValue = 10.2, IntValue = 5 };

            const string dateFormat = "yyyy-MM-dd HH:mm";
            var          exporter   = ObjectExporter.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[3, 2].Text == data.DateValue.ToString(dateFormat)); //DateValue
        }
コード例 #7
0
        public void NumberFormatForTest()
        {
            var data = new { TextValue = "SomeText", DateValue = DateTime.Now, DoubleValue = 10.2, IntValue = 5 };

            var excelWorksheet = ObjectExporter.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[3, 2].Text == DateTime.Today.ToString("DATE: yyyy-MM-dd")); //DateValue
            Assert.IsTrue(excelWorksheet.Cells[4, 2].Text == "10.20 $");                                   //DoubleValue
            Assert.IsTrue(excelWorksheet.Cells[5, 2].Text == "05");                                        //IntValue
        }
コード例 #8
0
        private static void ExportSimpleObject()
        {
            Console.WriteLine("Create fake data...");
            var fakePerson = new Employee();

            Console.WriteLine("Exporting Simple Object...");
            var exporter = ObjectExporter.Create(fakePerson)
                           .Ignore(n => n.Phone)
                           .DefaultNumberFormat(typeof(DateTime), "yyyy-MM-dd")
                           .DefaultNumberFormat(typeof(double), "#,##0.00 $")
                           .NumberFormatFor(n => n.ShoeSize, "0.0");

            var excelPackage = exporter.CreateExcelPackage();

            SaveAndOpenDocument(excelPackage);
        }
コード例 #9
0
        public void TextFormatForTest()
        {
            var data = 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   = ObjectExporter.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, 2].Text == string.Format(textFormat, data.TextValue));             //TextValue
            Assert.IsTrue(excelWorksheet.Cells[3, 2].Text == string.Format(dateFormat, data.DateValue));             //DateValue
            Assert.IsTrue(excelWorksheet.Cells[3, 2].Value.ToString() == string.Format(dateFormat, data.DateValue)); //DateValue
        }
コード例 #10
0
        public void DefaultNumberFormatTest()
        {
            var data = new { TextValue = "SomeText", DateValue = DateTime.Now, DoubleValue = 10.2, IntValue = 5 };

            var excelWorksheet = ObjectExporter.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[3, 2].Text == DateTime.Today.ToString("DATE: yyyy-MM-dd")); //DateValue
            Assert.IsTrue(excelWorksheet.Cells[4, 2].Text == $"10{numberDecimalSeparator}20 $");           //DoubleValue
            Assert.IsTrue(excelWorksheet.Cells[5, 2].Text == "05");                                        //IntValue
        }
コード例 #11
0
        public void HeaderStyleForTest()
        {
            var data = new { TextValue = "SomeText", DateValue = DateTime.Now, DoubleValue = 10.2, IntValue = 5 };

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

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

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

            Assert.IsTrue(excelWorksheet.Cells[3, 1].Style.Border.Right.Style == ExcelBorderStyle.Thick);
            Assert.IsTrue(excelWorksheet.Cells[4, 1].Style.Border.Right.Style == ExcelBorderStyle.Thick);
            Assert.IsTrue(excelWorksheet.Cells[5, 1].Style.Border.Right.Style == ExcelBorderStyle.Thick);
        }
コード例 #12
0
        public void NumberFormatForTest()
        {
            var data = new { TextValue = "SomeText", DateValue = DateTime.Now, DoubleValue = 10.2, IntValue = 5 };

            var excelWorksheet = ObjectExporter.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[3, 2].Text.ShouldBe(DateTime.Today.ToString("DATE: yyyy-MM-dd")); //DateValue
            excelWorksheet.Cells[4, 2].Text.ShouldBe($"10{numberDecimalSeparator}20 $");           //DoubleValue
            excelWorksheet.Cells[5, 2].Text.ShouldBe("05");                                        //IntValue
        }
コード例 #13
0
        public void DisplayTest()
        {
            var data = new { TextValue = "SomeText", DateValue = DateTime.Now, DoubleValue = 10.2, IntValue = 5 };

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

            Assert.IsTrue(excelWorksheet.Cells[2, 1].Text == "Text Value");
            Assert.IsTrue(excelWorksheet.Cells[3, 1].Text == "Double Value");
            Assert.IsTrue(excelWorksheet.Cells[4, 1].Text == string.Empty);
        }
コード例 #14
0
        public static void Sample2()
        {
            var data = new { TextValue = "Text #1", DateValue = DateTime.Now, DoubleValue = 10.1, IntValue = 1 };

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

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

            var excelPackage = exporter.CreateExcelPackage();

            Program.SaveAndOpenDocument(excelPackage);
        }
コード例 #15
0
        protected override void ProcessRecord()
        {
            ErrorRecord _error;

            try
            {
                byte[] bytes = Encoding.ASCII.GetBytes(this.KeyWord);
                if (bytes.Length < 16)
                {
                    _error = new ErrorRecord(new Exception("You keyword should be > 16 bytes"),
                                             "error_bytes",
                                             ErrorCategory.InvalidData, this);
                    WriteError(_error);
                    return;
                }

                WriteVerbose("Create object to process");
                ObjectExporter _objectexporter = new ObjectExporter()
                {
                    ServiceClient = this.Conn,
                    Entity        = this.Entity,
                    Path          = this.Path,
                    Fetch         = this.Fetch,
                    Encrypt       = this.Encrypt,
                    KeyWord       = this.KeyWord
                };

                Export _export = new Export(_objectexporter);
                if (this.Uncompressed)
                {
                    _export.ExportTocompressed();
                }
                else
                {
                    _export.ExportToUncompressed();
                }
            }
            catch (System.Exception ex)
            {
                _error = new ErrorRecord(ex, "", ErrorCategory.OpenError, "");
                WriteError(_error);
            }
        }
コード例 #16
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      = ObjectExporter.Create(data);

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

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

            Assert.IsTrue(sheetToCheck.Name == newWorksheetName);
        }
コード例 #17
0
        public void ConfigureTest()
        {
            var data = new { TextValue = "SomeText", DateValue = DateTime.Now, DoubleValue = 10.2, IntValue = 5 };

            var excelPackage = ObjectExporter.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;
                };
            })
                               .CreateExcelPackage();

            //TestHelper.OpenDocument(excelPackage);

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

            //header
            Assert.IsTrue(excelWorksheet.Cells[3, 1].Style.Border.Bottom.Style == ExcelBorderStyle.Thick);
            Assert.IsTrue(excelWorksheet.Cells[3, 1].Text == " ");
            Assert.IsTrue(excelWorksheet.Cells[5, 1].Text == "Int Value");

            //data
            Assert.IsTrue(excelWorksheet.Cells[3, 2].Text == DateTime.Now.ToString("dd-MM-yyyy"));
            Assert.IsTrue(excelWorksheet.Cells[3, 2].Style.Border.Left.Style == ExcelBorderStyle.Dashed);
            Assert.IsTrue(excelWorksheet.Cells[3, 2].Style.Border.Right.Style == ExcelBorderStyle.Dashed);
        }
コード例 #18
0
        public void ConditionalStyleForTest()
        {
            var data = new { TextValue = "SomeText", DateValue = DateTime.Now, DoubleValue = 10.2, IntValue = 5 };

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

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

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

            Assert.IsTrue(excelWorksheet.Cells[3, 1].Style.Border.Bottom.Style == ExcelBorderStyle.None);
            Assert.IsTrue(excelWorksheet.Cells[4, 1].Style.Border.Bottom.Style == ExcelBorderStyle.Thick);
            Assert.IsTrue(excelWorksheet.Cells[5, 2].Style.Border.Bottom.Style == ExcelBorderStyle.Dashed);
        }
コード例 #19
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="reportInfo"></param>
 public virtual void Export <T>(T reportInfo) where T : class
 {
     ObjectExporter.Export(reportInfo);
 }