Skip to content

Commit 1ed9d88

Browse files
committed
Merge branch 'develop9' into feature/emoji-fallback
2 parents 49fa8f6 + ba1e7c0 commit 1ed9d88

97 files changed

Lines changed: 5807 additions & 3898 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

appveyor8.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
version: 8.4.1.{build}
1+
version: 8.4.2.{build}
22
branches:
33
only:
44
- develop8
@@ -10,15 +10,15 @@ install:
1010
& $env:temp\dotnet-install.ps1 -Architecture x64 -Version '10.0.100' -InstallDir "$env:ProgramFiles\dotnet"
1111
init:
1212
- ps: >-
13-
Update-AppveyorBuild -Version "8.4.1.$env:appveyor_build_number-$(Get-Date -format yyyyMMdd)-$env:appveyor_repo_branch"
13+
Update-AppveyorBuild -Version "8.4.2.$env:appveyor_build_number-$(Get-Date -format yyyyMMdd)-$env:appveyor_repo_branch"
1414
15-
Write-Host "8.4.1.$env:appveyor_build_number-$(Get-Date -format yyyyMMdd)-$env:appveyor_repo_branch"
15+
Write-Host "8.4.2.$env:appveyor_build_number-$(Get-Date -format yyyyMMdd)-$env:appveyor_repo_branch"
1616
dotnet_csproj:
1717
patch: true
1818
file: '**\*.csproj'
1919
version: '{version}'
20-
assembly_version: 8.4.1.{build}
21-
file_version: 8.4.1.{build}
20+
assembly_version: 8.4.2.{build}
21+
file_version: 8.4.2.{build}
2222
nuget:
2323
project_feed: true
2424
before_build:

docs/articles/fixedissues.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,11 @@
11
# Features / Fixed issues - EPPlus 8
2+
## Version 8.4.2
3+
* Fixed an issue where the ExcelRange.Text property could format negative values with double minus signs in rare cases.
4+
* Fixed a performance issue when using FollowDependencyChain = false in the Calculate method. With this option, EPPlus no longer calculates dependent cells or dynamic array formula spills.
5+
* Fixed an issue where the ExcelPowerQueryMetadataItem class parsed dates using the supplied culture instead of the invariant culture, which could cause an unhandled exception.
6+
* Fixed an issue where a workbook could become corrupt when EPPlus adjusted the XML ignorable namespace list.
7+
* Fixed an unhandled exception that occurred when saving a workbook containing a customXml property file without a schemaRefs file.
8+
29
## Version 8.4.1
310
* Fixes several issues related to expanding (spilling) and contracting dynamic array formulas.
411
* Changing cell dependencies were not taken into account when recalculating dirty cells from dynamic array formulas.

src/EPPlus.Export.ImageRenderer.Test/SvgPathTests.cs

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -511,10 +511,10 @@ public void GenerateSvgForCharts()
511511
{
512512
var ws = p.Workbook.Worksheets[0];
513513
var renderer = new EPPlusImageRenderer.ImageRenderer();
514-
//var ix = 5;
514+
//var ix = 0;
515515
//var c = ws.Drawings[ix];
516516
//var svg = renderer.RenderDrawingToSvg(c);
517-
//SaveTextFileToWorkbook($"svg\\ChartForSvg{ix++}.svg", svg);
517+
//SaveTextFileToWorkbook($"svg\\ChartForSvg_ind{ix++}.svg", svg);
518518
var ix = 1;
519519
foreach (ExcelChart c in ws.Drawings)
520520
{
@@ -523,6 +523,27 @@ public void GenerateSvgForCharts()
523523
}
524524
}
525525
}
526+
[TestMethod]
527+
public void GenerateSvgForLineCharts()
528+
{
529+
ExcelPackage.License.SetNonCommercialOrganization("EPPlus Project");
530+
using (var p = OpenTemplatePackage("LineChartRenderTest.xlsx"))
531+
{
532+
var ws = p.Workbook.Worksheets[0];
533+
var renderer = new EPPlusImageRenderer.ImageRenderer();
534+
//var ix = 1;
535+
//var c = ws.Drawings[ix];
536+
//var svg = renderer.RenderDrawingToSvg(c);
537+
//SaveTextFileToWorkbook($"svg\\LineChartForSvg_Single{ix++}.svg", svg);
538+
var ix = 1;
539+
foreach (ExcelChart c in ws.Drawings)
540+
{
541+
var svg = renderer.RenderDrawingToSvg(c);
542+
SaveTextFileToWorkbook($"svg\\LineChartForSvg{ix++}.svg", svg);
543+
}
544+
}
545+
}
546+
526547
[TestMethod]
527548
public void GenerateSvgForCharts_sheet2()
528549
{

src/EPPlus.Export.ImageRenderer.Test/TestFontMeasurer.cs

Lines changed: 22 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,6 @@
1-
using EPPlusImageRenderer.RenderItems;
2-
using EPPlusImageRenderer.RenderItems.Shared;
3-
using EPPlusImageRenderer.Utils;
4-
using OfficeOpenXml;
5-
using OfficeOpenXml.Interfaces.Drawing.Text;
6-
using System;
7-
using System.Collections.Generic;
8-
using System.Linq;
9-
using System.Text;
10-
using System.Threading.Tasks;
1+
using OfficeOpenXml.Interfaces.Drawing.Text;
112
using EPPlus.Fonts.OpenType;
123
using EPPlus.Fonts.OpenType.Utils;
13-
using System.Security.Cryptography;
144
using EPPlus.Fonts.OpenType.TrueTypeMeasurer.DataHolders;
155

166
namespace TestProject1
@@ -174,27 +164,28 @@ public void LoremIpsum20Paragraphs()
174164

175165
var savedStrings = SavedComparisonString.Split("\r\n");
176166

177-
List<string> differingStrings = new();
178-
179-
if (wrappedStrings.Count() > savedStrings.Count())
180-
differingStrings = savedStrings.Except(wrappedStrings).ToList();
181-
else
182-
differingStrings = wrappedStrings.Except(savedStrings).ToList();
183-
184-
//INTENTIONAL COMMENT for easier debugging later.
185-
//It is sometimes easier to compare files directly when debugging rather than looking through "differingStrings"
186-
//bool writeFiles = true;
187-
188-
//if (/*differingStrings.Count() > 0*/ writeFiles)
189-
//{
190-
// File.WriteAllText("C:\\temp\\LoremIpsum20_NEW.txt", string.Join("\r\n", wrappedStrings.ToArray()));
191-
// File.WriteAllText("C:\\temp\\LoremIpsum20_OLD.txt", SavedComparisonString);
192-
193-
// var currStr = File.ReadAllText("C:\\temp\\LoremIpsum20_NEW.txt");
194-
// Assert.AreEqual(SavedComparisonString, currStr);
195-
//}
167+
List<string> faultyStrings = new();
168+
List<string> excpectedStrings = new();
169+
List<int> indiciesOfDifferingString = new();
170+
171+
for (int i = 0; i < savedStrings.Count(); i++)
172+
{
173+
if(savedStrings[i] != wrappedStrings[i])
174+
{
175+
indiciesOfDifferingString.Add(i);
176+
faultyStrings.Add(wrappedStrings[i]);
177+
excpectedStrings.Add(savedStrings[i]);
178+
}
179+
}
180+
181+
if(indiciesOfDifferingString.Count != 0)
182+
{
183+
//The start of indicies diverging
184+
Assert.IsNull(indiciesOfDifferingString[0]);
185+
Assert.AreEqual(faultyStrings[0], excpectedStrings[0]);
186+
}
196187

197-
Assert.AreEqual(0, differingStrings.Count());
188+
Assert.AreEqual(0, faultyStrings.Count);
198189
}
199190
[TestMethod]
200191
public void LoremIpsum20ParagraphsMultipleFragments()

src/EPPlus.Export.ImageRenderer.Test/TestTextContainer.cs

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -107,26 +107,26 @@ public void TestNonStandardFontSizesMultiLineLargeFontGoudyStout()
107107
Assert.AreEqual(expectedHeight, Math.Round(container.Height, 0));
108108
}
109109

110-
[TestMethod]
111-
public void EnsureTextBodyAddsRunsCorrectly()
112-
{
113-
BoundingBox shapeRect = new BoundingBox();
110+
//[TestMethod]
111+
//public void EnsureTextBodyAddsRunsCorrectly()
112+
//{
113+
// BoundingBox shapeRect = new BoundingBox();
114114

115-
shapeRect.Width = 20;
116-
shapeRect.Height = 10;
115+
// shapeRect.Width = 20;
116+
// shapeRect.Height = 10;
117117

118-
FontMeasurerTrueType measurer = new FontMeasurerTrueType(12, "Aptos Narrow", FontSubFamily.Regular);
119-
var body = new SvgTextBodyItem(shapeRect);
118+
// FontMeasurerTrueType measurer = new FontMeasurerTrueType(12, "Aptos Narrow", FontSubFamily.Regular);
119+
// var body = new SvgTextBodyItem(shapeRect);
120120

121-
body.Bounds.transform.Name = "TxtBody";
121+
// body.Bounds.Name = "TxtBody";
122122

123-
body.AddText("A new Paragraph", measurer);
124-
body.AddText("Second paragraph", measurer);
123+
// body.AddText("A new Paragraph", measurer);
124+
// body.AddText("Second paragraph", measurer);
125125

126-
Assert.AreEqual(2, body.Paragraphs[0].Bounds.transform.ChildObjects.Count);
127-
Assert.AreEqual(body.Bounds.transform.ChildObjects[0], body.Paragraphs[0].Bounds.transform);
126+
// Assert.AreEqual(2, body.Paragraphs[0].Bounds.Transform.ChildObjects.Count);
127+
// Assert.AreEqual(body.Bounds.Transform.ChildObjects[0], body.Paragraphs[0].Bounds.Transform);
128128

129-
Assert.AreEqual(shapeRect.transform, body.Bounds.transform.Parent);
130-
}
129+
// Assert.AreEqual(shapeRect.Transform, body.Bounds.Transform.TopDrawingHandler);
130+
//}
131131
}
132132
}

0 commit comments

Comments
 (0)