Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

XSSFColumn class implementation #1329

Merged
merged 45 commits into from
Nov 8, 2024
Merged

Commits on Feb 8, 2024

  1. Make XSSFCell.ColumnIndex Internally settable.

    This is needed for ease of column shifting.
    Artem Koloskov committed Feb 8, 2024
    Configuration menu
    Copy the full SHA
    8a04e66 View commit details
    Browse the repository at this point in the history
  2. Implement column shifting in FormulaShifter class.

    Artem Koloskov committed Feb 8, 2024
    Configuration menu
    Copy the full SHA
    b2dee1f View commit details
    Browse the repository at this point in the history
  3. Add copyColumnWidth flag to CellCopyPolicy class.

    Artem Koloskov committed Feb 8, 2024
    Configuration menu
    Copy the full SHA
    2221299 View commit details
    Browse the repository at this point in the history
  4. Add IColumn Interface

    Artem Koloskov committed Feb 8, 2024
    Configuration menu
    Copy the full SHA
    8df0997 View commit details
    Browse the repository at this point in the history
  5. Implement CellUtil.CopyCell overload that accepts IColoumn as argument.

    Very simillar to the one with IRow.
    Artem Koloskov committed Feb 8, 2024
    Configuration menu
    Copy the full SHA
    f632a60 View commit details
    Browse the repository at this point in the history
  6. Add UpdateColumnFormulas and ShiftFormula methods to XSSFRowColShifte…

    …r class
    
    These update formulas according to the new positions of the columns. Simillar to UpdateRowFormulas and  ShiftFormula for IRow.
    Artem Koloskov committed Feb 8, 2024
    Configuration menu
    Copy the full SHA
    b64889a View commit details
    Browse the repository at this point in the history
  7. Implement XSSFColumn class.

    Artem Koloskov committed Feb 8, 2024
    Configuration menu
    Copy the full SHA
    542230d View commit details
    Browse the repository at this point in the history
  8. Add ColumShifter and XSSFColumnShifter calsses to mange column shifting.

    Add SheetUtil.CopyColumn method
    Simillar to SheetUtil.CopyRow.
    
    Implement column related methods in XSSFSheet
    Artem Koloskov committed Feb 8, 2024
    Configuration menu
    Copy the full SHA
    73ce1ba View commit details
    Browse the repository at this point in the history
  9. Make XSSFRow.RemoveCell method check for possibility for cell to be i…

    …ncluded in the column
    
    And delete it from there too.
    Artem Koloskov committed Feb 8, 2024
    Configuration menu
    Copy the full SHA
    aafdcc7 View commit details
    Browse the repository at this point in the history
  10. Add unit tests for XSSFSheet column functionalty and for XSSFColumn i…

    …tself.
    Artem Koloskov committed Feb 8, 2024
    Configuration menu
    Copy the full SHA
    b972a28 View commit details
    Browse the repository at this point in the history
  11. Makes CT_Cols.Parse method break up CT_Col with non-equal min and max…

    … fields into individual "CT_Col"s
    
    This drastically hinders performance if used with ColumnHelper in its current state, so it needs to be deprecated and it;s functionality replaced with XSSFColumn.
    Artem Koloskov committed Feb 8, 2024
    Configuration menu
    Copy the full SHA
    9ad741c View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    d0b4439 View commit details
    Browse the repository at this point in the history
  13. Remove XSSFRow.CheckColumnAndRemove private method

    XSSFColumn is changing it's cell storage to a dynamically generated from rows, so there is no more need for a double check.
    Artem Koloskov committed Feb 8, 2024
    Configuration menu
    Copy the full SHA
    1834cf7 View commit details
    Browse the repository at this point in the history
  14. Change default values of new CT_Col.collapsedField and CT_Col.collaps…

    …edSpecifiedField to false.
    
    Doesnt make any sense for them to be true by default. OOXLM XSD specifies collapsed attribute as false by default too.
    Artem Koloskov committed Feb 8, 2024
    Configuration menu
    Copy the full SHA
    bf86e56 View commit details
    Browse the repository at this point in the history
  15. Change the way XSSFColumn accesses cells in it

    It used to hold all cells in its own list. Now it just looks them up from rows.
    Artem Koloskov committed Feb 8, 2024
    Configuration menu
    Copy the full SHA
    34873ec View commit details
    Browse the repository at this point in the history
  16. Refactor XSSFSheet methods that used ColumnHelper class

    These methods now use XSSFColumn to perform their tasks.
    Artem Koloskov committed Feb 8, 2024
    Configuration menu
    Copy the full SHA
    37f3dc1 View commit details
    Browse the repository at this point in the history
  17. Update unit tests to support the new column paradigm

    Artem Koloskov committed Feb 8, 2024
    Configuration menu
    Copy the full SHA
    7fb5b75 View commit details
    Browse the repository at this point in the history
  18. Add XSSFSheet.UngroupColumn tests.

    Artem Koloskov committed Feb 8, 2024
    Configuration menu
    Copy the full SHA
    e2ae1d0 View commit details
    Browse the repository at this point in the history
  19. apply editorconfig to new files of the branch #upstr

    Artem Koloskov committed Feb 8, 2024
    Configuration menu
    Copy the full SHA
    1275c92 View commit details
    Browse the repository at this point in the history
  20. upstr: Fix TestSetColumnGroupCollapsed test to correctly anticipate t…

    …he values after save and reload
    Artem Koloskov committed Feb 8, 2024
    Configuration menu
    Copy the full SHA
    c8bd934 View commit details
    Browse the repository at this point in the history
  21. upstr: Fix CT_Col.Parse method to parse values of customWidth, width …

    …and collapsed properites into their fields, to not trigger setters.
    Artem Koloskov committed Feb 8, 2024
    Configuration menu
    Copy the full SHA
    6ef2b69 View commit details
    Browse the repository at this point in the history
  22. upstr: Implement combining CT_Col objects by their adjacency and simi…

    …larity before writing CT_Cols node.
    
    This will make sure the CT_Cols follow the excel's rules of storing these objects, where adjscent columns with equal attributes will be combines into CT_Col spans.
    Artem Koloskov committed Feb 8, 2024
    Configuration menu
    Copy the full SHA
    e85bdc8 View commit details
    Browse the repository at this point in the history
  23. upstr: Obsolete ColumnHelper class

    Artem Koloskov committed Feb 8, 2024
    Configuration menu
    Copy the full SHA
    b49dd97 View commit details
    Browse the repository at this point in the history
  24. upstr: comment and clean up for XSSFColumn

    Artem Koloskov committed Feb 8, 2024
    Configuration menu
    Copy the full SHA
    68931fc View commit details
    Browse the repository at this point in the history
  25. upstr: update tests for XSSFSheet.ShiftRows and XSSFSheet.ShiftColumns

    Tests are specifically designed to check that the merged regions are treated correctly during shift
    Artem Koloskov committed Feb 8, 2024
    Configuration menu
    Copy the full SHA
    3bb1df7 View commit details
    Browse the repository at this point in the history
  26. upstr: fix bug in ColumnShifter with wrong addresses created to check…

    … merged regions
    Artem Koloskov committed Feb 8, 2024
    Configuration menu
    Copy the full SHA
    79a4395 View commit details
    Browse the repository at this point in the history
  27. upstr: fix bug in RowShifter.ShiftMergedRegions with lastCol variable

    Bug was that lastCol was almost always 0, thus the check for the removal of the merged region will return false and regions will stay in place
    Artem Koloskov committed Feb 8, 2024
    Configuration menu
    Copy the full SHA
    c56a1b9 View commit details
    Browse the repository at this point in the history
  28. upstr: fix bug in XSSFSheet.AddMergedRegion which returned incorrect …

    …index
    Artem Koloskov committed Feb 8, 2024
    Configuration menu
    Copy the full SHA
    203d7a3 View commit details
    Browse the repository at this point in the history
  29. upstr: fix potentioal Sequence contained no elements exception in Row…

    …Shifter.ShiftMergedRegions
    Artem Koloskov committed Feb 8, 2024
    Configuration menu
    Copy the full SHA
    7997433 View commit details
    Browse the repository at this point in the history
  30. upstr: fix the way ColumnShifter and RowShifter determine overwritten…

    … area when dealing with merged regions.
    
    Overwritten area is the one where the row/column will be, once moved
    Artem Koloskov committed Feb 8, 2024
    Configuration menu
    Copy the full SHA
    3e6ab4b View commit details
    Browse the repository at this point in the history
  31. upstr: modify shiftcolumn and shifrrow tests for clarity.

    add first row/column of numbers to see what row/column moved where and where from
    Artem Koloskov committed Feb 8, 2024
    Configuration menu
    Copy the full SHA
    7d6ee42 View commit details
    Browse the repository at this point in the history
  32. Configuration menu
    Copy the full SHA
    a77954b View commit details
    Browse the repository at this point in the history
  33. upstr: fix XSSFSheet.RemoveOverwrittenColumns

    it was unneseccarily creating all columns, not just the ones that need clearing
    Artem Koloskov committed Feb 8, 2024
    Configuration menu
    Copy the full SHA
    fa007c5 View commit details
    Browse the repository at this point in the history
  34. upstr: enable invariant culture in tests where it is necessary

    these test would have fail in cultures with different decimal delimiters etc
    Artem Koloskov committed Feb 8, 2024
    Configuration menu
    Copy the full SHA
    50a563d View commit details
    Browse the repository at this point in the history
  35. upstr: make XSSFSheet.DestroyColumn mehtods public

    Artem Koloskov committed Feb 8, 2024
    Configuration menu
    Copy the full SHA
    eadb46b View commit details
    Browse the repository at this point in the history
  36. upstr: set invariant culture for two tests in TestNormSInv

    Artem Koloskov committed Feb 8, 2024
    Configuration menu
    Copy the full SHA
    cba8a93 View commit details
    Browse the repository at this point in the history
  37. upstr: fix bug with column shifting

    it was moving cells to the columns that were then also shifted, shifting these cells extra times
    Artem Koloskov committed Feb 8, 2024
    Configuration menu
    Copy the full SHA
    be4de3a View commit details
    Browse the repository at this point in the history
  38. Upstream feature: prevent XSSFSheet from intializing with maximum num…

    …ber of columns. Only init columns that have data
    Artem Koloskov committed Feb 8, 2024
    Configuration menu
    Copy the full SHA
    90bea62 View commit details
    Browse the repository at this point in the history
  39. Upstream feature: fix the way last column is decided in `CT_Cols.Brea…

    …kUpCtCol` method
    Artem Koloskov committed Feb 8, 2024
    Configuration menu
    Copy the full SHA
    b186b30 View commit details
    Browse the repository at this point in the history
  40. upstream fix: Add IEnumerable<IRow> implementation to ISheet and its …

    …implementations
    Artem Koloskov committed Feb 8, 2024
    Configuration menu
    Copy the full SHA
    5119eae View commit details
    Browse the repository at this point in the history

Commits on Feb 9, 2024

  1. upstream-fix: revert to original column width calculation in GetColum…

    …nWidth method
    Artem Koloskov committed Feb 9, 2024
    Configuration menu
    Copy the full SHA
    6f7bd88 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    fe02e5c View commit details
    Browse the repository at this point in the history

Commits on May 3, 2024

  1. merge from fork

    artemkoloskov committed May 3, 2024
    Configuration menu
    Copy the full SHA
    e2cb672 View commit details
    Browse the repository at this point in the history

Commits on Nov 8, 2024

  1. Configuration menu
    Copy the full SHA
    59cf4e7 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    3a1724e View commit details
    Browse the repository at this point in the history