Skip to content

Commit e4f4ca4

Browse files
authored
added hyperlink examples (#234)
added hyperlink examples (#234)
1 parent c7ccc18 commit e4f4ca4

File tree

3 files changed

+26
-19
lines changed

3 files changed

+26
-19
lines changed

tests/ClosedXML.Report.Tests/TestModels/TestEntity.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@ public class TestEntity
6060
public int Age { get; set; }
6161
public int[] Hours { get; set; }
6262
public Address Address { get; set; }
63+
public string Email { get; set; }
6364

6465
public TestEntity()
6566
{
@@ -83,10 +84,11 @@ public static IEnumerable<TestEntity> GetTestData(int rowCount)
8384

8485
var testEntity = new Faker<TestEntity>()
8586
.StrictMode(true)
86-
.RuleFor(o => o.Name, f => f.Name.FullName())
87+
.RuleFor(o => o.Name, f => f.Person.FullName)
8788
.RuleFor(o => o.Role, f => f.Name.JobTitle())
8889
.RuleFor(o => o.Age, f => f.Random.Number(20, 70))
8990
.RuleFor(o => o.Address, () => addressFaker)
91+
.RuleFor(o => o.Email, f => f.Internet.Email(f.Person.FirstName, f.Person.LastName))
9092
.RuleFor(o => o.Hours, f => new []{ f.Random.Number(2, 14), f.Random.Number(2, 14), f.Random.Number(2, 14) });
9193

9294
return testEntity.Generate(rowCount);

tests/ClosedXML.Report.Tests/XlTemplateTests.cs

Lines changed: 23 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
using System.Collections.Generic;
77
using System.IO;
88
using System.Linq;
9+
using ClosedXML.Report.Excel;
910
using Xunit;
1011
using Xunit.Abstractions;
1112

@@ -87,8 +88,9 @@ public void Add_enumerable_variable_should_fill_range()
8788
}),
8889
wb =>
8990
{
91+
wb.SaveAs(".\\Output\\4.xlsx");
9092
var sheet = wb.Worksheet(1);
91-
sheet.Cell("G1").GetValue<string>().Should().Be("title from test");
93+
sheet.Cell("H1").GetValue<string>().Should().Be("title from test");
9294
sheet.Cell("B4").GetValue<string>().Should().Be("1");
9395
sheet.Cell("B5").GetValue<string>().Should().Be("2");
9496
sheet.Cell("B6").GetValue<string>().Should().Be("3");
@@ -101,24 +103,27 @@ public void Add_enumerable_variable_should_fill_range()
101103
sheet.Cell("E4").GetValue<int>().Should().Be(testData[0].Age);
102104
sheet.Cell("E5").GetValue<int>().Should().Be(testData[1].Age);
103105
sheet.Cell("E6").GetValue<int>().Should().Be(testData[2].Age);
104-
sheet.Cell("F4").GetValue<string>().Should().Be(testData[0].Address.City);
105-
sheet.Cell("F5").GetValue<string>().Should().Be(testData[1].Address.City);
106-
sheet.Cell("F6").GetValue<string>().Should().Be(testData[2].Address.City);
107-
wb.NamedRange("PlanData").Ranges.First().RangeAddress.ToStringRelative().Should().Be("A4:J6");
108-
sheet.Cell("G4").GetValue<int>().Should().Be(testData[0].Hours[0]);
109-
sheet.Cell("G5").GetValue<int>().Should().Be(testData[1].Hours[0]);
110-
sheet.Cell("G6").GetValue<int>().Should().Be(testData[2].Hours[0]);
111-
sheet.Cell("H4").GetValue<int>().Should().Be(testData[0].Hours[1]);
112-
sheet.Cell("H5").GetValue<int>().Should().Be(testData[1].Hours[1]);
113-
sheet.Cell("H6").GetValue<int>().Should().Be(testData[2].Hours[1]);
114-
sheet.Cell("I4").GetValue<int>().Should().Be(testData[0].Hours[2]);
115-
sheet.Cell("I5").GetValue<int>().Should().Be(testData[1].Hours[2]);
116-
sheet.Cell("I6").GetValue<int>().Should().Be(testData[2].Hours[2]);
117-
sheet.Cell("J4").GetValue<int>().Should().Be(testData[0].Hours.Sum());
118-
sheet.Cell("J5").GetValue<int>().Should().Be(testData[1].Hours.Sum());
119-
sheet.Cell("J6").GetValue<int>().Should().Be(testData[2].Hours.Sum());
106+
sheet.Cell("F4").FormulaA1.Should().Be($"HYPERLINK(\"mailto:{testData[0].Email}\",\"{testData[0].Email}\")");
107+
sheet.Cell("F5").FormulaA1.Should().Be($"HYPERLINK(\"mailto:{testData[1].Email}\",\"{testData[1].Email}\")");
108+
sheet.Cell("F6").FormulaA1.Should().Be($"HYPERLINK(\"mailto:{testData[2].Email}\",\"{testData[2].Email}\")");
109+
sheet.Cell("G4").GetValue<string>().Should().Be(testData[0].Address.City);
110+
sheet.Cell("G5").GetValue<string>().Should().Be(testData[1].Address.City);
111+
sheet.Cell("G6").GetValue<string>().Should().Be(testData[2].Address.City);
112+
wb.NamedRange("PlanData").Ranges.First().RangeAddress.ToStringRelative().Should().Be("A4:K6");
113+
sheet.Cell("H4").GetValue<int>().Should().Be(testData[0].Hours[0]);
114+
sheet.Cell("H5").GetValue<int>().Should().Be(testData[1].Hours[0]);
115+
sheet.Cell("H6").GetValue<int>().Should().Be(testData[2].Hours[0]);
116+
sheet.Cell("I4").GetValue<int>().Should().Be(testData[0].Hours[1]);
117+
sheet.Cell("I5").GetValue<int>().Should().Be(testData[1].Hours[1]);
118+
sheet.Cell("I6").GetValue<int>().Should().Be(testData[2].Hours[1]);
119+
sheet.Cell("J4").GetValue<int>().Should().Be(testData[0].Hours[2]);
120+
sheet.Cell("J5").GetValue<int>().Should().Be(testData[1].Hours[2]);
121+
sheet.Cell("J6").GetValue<int>().Should().Be(testData[2].Hours[2]);
122+
sheet.Cell("K4").GetValue<int>().Should().Be(testData[0].Hours.Sum());
123+
sheet.Cell("K5").GetValue<int>().Should().Be(testData[1].Hours.Sum());
124+
sheet.Cell("K6").GetValue<int>().Should().Be(testData[2].Hours.Sum());
120125
sheet.Cell("D8").GetValue<int>().Should().Be(15);
121-
sheet.Cell("K6").GetValue<int>().Should().Be(4);
126+
sheet.Cell("L6").GetValue<int>().Should().Be(4);
122127
});
123128
}
124129

tests/Templates/4.xlsx

600 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)