Skip to content

Commit

Permalink
Develop7_1 (#1379)
Browse files Browse the repository at this point in the history
* LoadFromCollection/new logic for member sort order (#1296)

* wip

* wip2

* wip

* Wip 2

* wip

* First version of LoadFromCollection after refactoring

* wip 3

* WIP 3

* Adjusted CreatePropertyGetter so it supports inheriting classes to

* Removed uncommented code

---------

Co-authored-by: swmal <{ID}+username}@users.noreply.github.com>

* Feature/cf html exporter (#1349)

* New css and html connection based on CF. Poor performance

* Added Quadtree fetched CF-dictionary

* First solution functional on single cells

* Added support for more types and start of class diagraAdded support for
more types and start of class diagramm

* Temp draft save

* Added endsWith

* Added several styles to dxfCss

* Fixed underline and strike through but can't stop strikethrough double

* Staticified some caches

* Added wrapper

* Broke out stylecache from css adjusted names of css styles to stack in
right specificity order and fixed bug in get collection from range

* Completely removed stylecache from writers

* Initial creation of new writers

* Ensured translator and new writer can handle fills

* Added TranslatorBase fill font and translatorContext logic

* Added border and textFormat translators

* Simplified rangeTranslator and added sharedClasses

* Added stylecache

* Added picture translator

* Properties and new if-case

* Added stylechecker class

* Translators

* Start of adding dxf

* Generic style draft

* First draft of styleContracts

* New draft applying interfaces instead

* Adding of color

* color fixes

* Color added

* Added initial border

* Renamed interface style and re-introduced merged cells

* Attempt at delegates

* New handling of intersect detection

* Simplification of conditionalFormatting

* Started adding tables. Alignment missing on range

* Added start of table writer replacement

* Added table support

* Fixed bugs for table in range. In process of fixing tableExporter

* minor fix

* Added async writing to new methods

* Async support and table/range unification

* Finialized unification

* Fixes fill when no fill was present

* Fixed multiple bugs to ensure all tests pass

* Cleanup and deletion of old files

* Html alternative draftHtml

* Half-implemented header row

* Added htmlElement to headerRow

* Function breakout and start of renderTablerows

* Fixed minor formatting htmlsync bugs

* Simplified writer fixed html formatting of images in cells

* Start of joint functions for html tables and ranges

* Moved range over to standard functions. Removed unused functions

* Performance fixes using hashes

* Minor improvements

* Generalized sync async html and removed unused functions

* Cleaned up and unified functionality

* Fixed CF and hyperlink bugs. Removed classDiagram

* Fixed hyperlinks and unnecesary whitespaces after

* Fixed not adding whitespaces where appropriate

* Added containsErrors cf

* Added cf_Between shouldApply with edge cases and missmatches

* Added fix for calculatedFormula issues

* Fixed cell value set bug and simplified between

* Added simplifications, bug fix and test

* Added Averages to exporter/shouldApply

* Added should apply for timeGroup between greater than and less than

* Added standardDeviation should apply

* Added unique shouldApply

* Added TopBottom function

* Added basic twoColorScale implementation

* Ensured range functionality on headers and easier implementation of
future special cases

* Added faulty 3 color

* Ensured Threerange is correct when values non-linear

* Started adding databar

* Half-made databar

* Added better chaching of cellValues

* removed empty line

* Ensured removal of tempExport Data. Positive databar implementation

* further partial databar implementation

* Fixed text-alignment and color scale dissapear issues

* Adding Databar functionality

* Added databar border and moved to css

* Added axis position start

* Added variable axis position in html exporter for databars

* Added horizontal and vertical text-alignment to databars

* Added databar solution to header

* Start of shared formulas for cfs

* Added dynamically calculated formulas to cfs

* Resolved Token list not clearing on between bug

* Simplification of css data gathering and cleanup

* Added highly innefficent colName solution

* Fixed notbetween handling

* Added null-handling for cellIs shouldApply functions

* Fixes for text functions

* Fixes for end users

* Fixes issue #1292

* Bug/s608 first sheet deletion (#1294)

* Beggining of solution

* Simplified solution. Added tests and exception

* Cleanup

* Fixes issue #1298

* Added test

* Fixed test

* Fixes issue #1298 (#1299)

* Fixes issue #1298

* Added test

* Fixed test

* EPPlus version 7.0.9

* Fixes issue #1302

* Fixes issue 1304

* Resolved null-reference bugs and spell-checked "extentions"

* Ensured top/bottom can handle error and other values correctly

* Removed stale exception

* Fixes issue #1308

* Fixes #1313. Better handling of defined names and encode ExcelNamedRange.NameValue property on save

* Ensured shouldApply as appropriate

* Added new test class

* Bugfixing

* Bug/s615 data validation read (#1307)

* Added new test removed issue test

* Added readwrite to test for confirmation

* Added fixed issues

* Secured DataValidation reading. Fixed i1312

* Non-working strict solution

* Resolved dataValidation read issues. Added docs

* Cleanup and commenting

* Make test happy in production

---------

Co-authored-by: Jan Källman <[email protected]>

* Fixes issue #1320 (#1322)

* Bug/issue1321 (#1324)

* Fixes issue #1320

* Fixes issue #1321

* Added CellStore Test

* #1329 - adjusted ActiveTab when moving worksheets

* #1327 - EPPlus removed all styling when setting a Table's CalculatedFormula to an empty string

* #1327 - fixed failing unit test, added ClearFormulas call

* #1332 - Intersect operator was replaced with 'isc' when copying cells (#1333)

* #1332 - Intersect operator was replaced with 'isc' when copying cells

* #1332 - removed the added static DefaultPreserveWhiteSpace from SourceCodeTokenizer

* Fixes issue #1338

* Updated fixed issues

* Fixed text contains error

* Fixes issue #1341

* Bug/issue1338 (#1340)

* Fixes issue #1338

* Updated fixed issues

* Colorscale bugfix

* Added fix for two colorscale as well

* EPPlus version 7.0.10

* Fixes #1343. Writing and loading pivot table attribute on CFs (#1344)

* Fixes #1343. Writing and loading pivot table attribute on CFs

* Added docs

* Bug/s635 insert row (#1346)

* Fixes #1345 fixed read exception faulty while loop

* Added template-free test

* fixed LastToken and added docs

---------

Co-authored-by: Jan Källman <[email protected]>

* Fixed databars, table alignment, flagging conditionalFormatting as
optional

* Cleanup comments usings and top of file

* Removal of databars + cleanup

---------

Co-authored-by: JanKallman <[email protected]>
Co-authored-by: swmal <[email protected]>

* Emergency fill fix (#1357)

* Feature/rich text (#1352)

* Fixes issue #1292

* Bug/s608 first sheet deletion (#1294)

* Beggining of solution

* Simplified solution. Added tests and exception

* Cleanup

* Fixes issue #1298

* Added test

* Fixed test

* Fixes issue #1298 (#1299)

* Fixes issue #1298

* Added test

* Fixed test

* EPPlus version 7.0.9

* Fixes issue #1302

* Fixes issue 1304

* Fixes issue #1308

* Fixes #1313. Better handling of defined names and encode ExcelNamedRange.NameValue property on save

* Added new test class

* Bug/s615 data validation read (#1307)

* Added new test removed issue test

* Added readwrite to test for confirmation

* Added fixed issues

* Secured DataValidation reading. Fixed i1312

* Non-working strict solution

* Resolved dataValidation read issues. Added docs

* Cleanup and commenting

* Make test happy in production

---------

Co-authored-by: Jan Källman <[email protected]>

* Fixes issue #1320 (#1322)

* Bug/issue1321 (#1324)

* Fixes issue #1320

* Fixes issue #1321

* Added CellStore Test

* #1329 - adjusted ActiveTab when moving worksheets

* #1327 - EPPlus removed all styling when setting a Table's CalculatedFormula to an empty string

* Progress on RichText optmimzation.

* Added more tests

* Fixed color auto property not being read properly

* #1327 - fixed failing unit test, added ClearFormulas call

* Deleted old files and fixing tests.

* #1332 - Intersect operator was replaced with 'isc' when copying cells (#1333)

* #1332 - Intersect operator was replaced with 'isc' when copying cells

* #1332 - removed the added static DefaultPreserveWhiteSpace from SourceCodeTokenizer

* Fixed some more tests not passing.

* Updated a test.

* Fixes issue #1338

* Updated fixed issues

* Fixes issue #1341

* Bug/issue1338 (#1340)

* Fixes issue #1338

* Updated fixed issues

* EPPlus version 7.0.10

* Fixed rich text for more tests.

* Fixes issue #1335

* Fixes #1343. Writing and loading pivot table attribute on CFs (#1344)

* Fixes #1343. Writing and loading pivot table attribute on CFs

* Added docs

* Bug/s635 insert row (#1346)

* Fixes #1345 fixed read exception faulty while loop

* Added template-free test

* fixed LastToken and added docs

---------

Co-authored-by: Jan Källman <[email protected]>

* Fixed richtext issues.

* Fixed issue when having multiple spaces is a intersect operator and use keep whitespaces

* Fixed issue with rich text comments not being saved & rich text attrobutes not being copied.

* Cleaned up richtexttests

* Added copy worksheet test for richtext

* Removed RichTextAttributes and using properties again.

* Moved files and deleted new folder.

* Fixed GetIndexColor - as it has been moved to Styles

* Fixed some issues with failed tests

* Ensured mergedcells border can be null

* Fixed remove in ExcelParagraphCollection.

* Removed commented code.

---------

Co-authored-by: JanKallman <[email protected]>
Co-authored-by: OssianEPPlus <[email protected]>
Co-authored-by: swmal <[email protected]>
Co-authored-by: Ossian Edström <[email protected]>

* Fixed a few bugs in the new html export

* Changed output path in TableExporterTests

* Added test and exportconditionalformatting.xlsx in the workbooks folder

* Fixed duplicates ignore case

* Made priority work by inversing Order

* Fixed sometimes empty _baseFormula

* Cleanup and bugfix. Fixed cf style read, added comments, ensured
priority reads correctly

* Fixed breaking change

* #1301 - initial implementation of NumberFormatProvider in LoadFromCollection (#1381)

Co-authored-by: swmal <{ID}+username}@users.noreply.github.com>

* Fixed failing test s312

---------

Co-authored-by: Mats Alm <[email protected]>
Co-authored-by: swmal <{ID}+username}@users.noreply.github.com>
Co-authored-by: JanKallman <[email protected]>
Co-authored-by: AdrianEPPlus <[email protected]>
  • Loading branch information
5 people committed Mar 26, 2024
1 parent f5f223c commit af0e644
Show file tree
Hide file tree
Showing 234 changed files with 12,820 additions and 7,440 deletions.
8 changes: 7 additions & 1 deletion docs/articles/breakingchanges.md
Original file line number Diff line number Diff line change
Expand Up @@ -114,5 +114,11 @@ Misspelled property `ExcelIgnoreError.CalculatedColumm` has been renamed `Calcul
* ConditionalFormatting classes are now Internal. Interfaces for each class exist and have all relevant properties instead.
#### ExcelHyperlink
* Renamed misspelled properties `ColSpann` and `RowSpann` to `ColSpan` and `RowSpan` on the `ExcelHyperLink` class.

### Breaking Change From EPPlus 7.1
#### Defined Names
* EPPlus will now encode string values and in defined name .
* EPPlus will now encode string values and in defined name .
#### Data Validation
* Removed DataValidationStaleException as DataValidations cannot be stale since Epplus 7.
#### Conditional Formatting
* When reading conditional formatting from file Style.Fill.PatternType is now always null if the patternType attribute in the xml has not been set.
3 changes: 3 additions & 0 deletions docs/articles/fixedissues.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@

# Features / Fixed issues - EPPlus 7
## Version 7.1
### Features
* Improved HTMLExport
* The HTML exporter can now export all conditionalFormattings except Iconsets and Databars and their priority order.
### Fixed issues
* Inserting rows would cause an exception to occur in formulas in rare cases.
* Special signs such as `'` when last in a formula would throw an exception in rare cases.
Expand Down
2 changes: 1 addition & 1 deletion src/EPPlus/Attributes/EpplusNestedTableColumnAttribute.cs
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ public int Order
{
get;
set;
}
} = int.MaxValue;

/// <summary>
/// This will prefix all names derived by members in the complex type.
Expand Down
11 changes: 11 additions & 0 deletions src/EPPlus/Attributes/EpplusTableAttribute.cs
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
*************************************************************************************************
12/10/2020 EPPlus Software AB EPPlus 5.5
*************************************************************************************************/
using OfficeOpenXml.LoadFunctions;
using OfficeOpenXml.Table;
using System;
using System.Collections.Generic;
Expand Down Expand Up @@ -94,5 +95,15 @@ public bool AutoCalculate
get;
set;
}

/// <summary>
/// If set, this <see cref="Type"/> must be implementing the <see cref="IExcelNumberFormatProvider"/> interface. If not an Exception will be thrown.
/// Note that the implementing type must have an empty constructor.
/// </summary>
public Type NumberFormatProviderType
{
get;
set;
}
}
}
12 changes: 11 additions & 1 deletion src/EPPlus/Attributes/EpplusTableColumnAttributeBase.cs
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ public int Order
{
get;
set;
}
} = int.MaxValue;

/// <summary>
/// Name shown in the header row, overriding the property name
Expand All @@ -51,6 +51,16 @@ public string NumberFormat
set;
}

/// <summary>
/// A number to be used in a NumberFormatProvider.
/// Default value is int.MinValue, which means it will be ignored.
/// </summary>
public int NumberFormatId
{
get;
set;
} = int.MinValue;

/// <summary>
/// If true, the entire column will be hidden.
/// </summary>
Expand Down
Loading

0 comments on commit af0e644

Please sign in to comment.