1. 19 3月, 2024 1 次提交
  2. 13 11月, 2023 1 次提交
    • xurime's avatar
      Support 5 new kinds of conditional formatting types · 2499bf6b
      xurime 提交于
      - New conditional formatting types: text, blanks, no blanks, errors, and no errors
      - Support calculate formula with multiple dash arithmetic symbol
      - Fix empty calculate result with numeric arguments in LEN, LOWER, PROPER, REPT, UPPER, and IF formula functions
      - Uniform double quote in calculation unit tests
      - Update unit tests
      2499bf6b
  3. 10 11月, 2023 1 次提交
  4. 11 10月, 2023 1 次提交
    • xurime's avatar
      This closes #1687 and closes #1688 · d9a0da7b
      xurime 提交于
      - Using sync map internally to get cell value concurrency safe
      - Support set the height and width for the comment box
      - Update the unit test
      d9a0da7b
  5. 10 10月, 2023 1 次提交
  6. 28 9月, 2023 1 次提交
  7. 21 8月, 2023 1 次提交
  8. 11 7月, 2023 1 次提交
    • D
      This closes #1169, initialize add form controls supported (#1181) · 2c8dc5c1
      David 提交于
      - Breaking changes:
      * Change
          `func (f *File) AddShape(sheet, cell string, opts *Shape) error`
          to
          `func (f *File) AddShape(sheet string, opts *Shape) error`
      * Rename the `Runs` field to `Paragraph` in the exported `Comment` data type
      - Add new exported function `AddFormControl` support to add button and radio form controls
      - Add check for shape type for the `AddShape` function, an error will be returned if no shape type is specified
      - Updated functions documentation and the unit tests
      2c8dc5c1
  9. 08 7月, 2023 1 次提交
    • xurime's avatar
      This closes #1572 · 8418bd7a
      xurime 提交于
      - Breaking changes: changed the data type for the `DecimalPlaces` to pointer of integer
      - Fallback to default 2 zero placeholder for invalid decimal places
      - Update unit tests
      8418bd7a
  10. 05 6月, 2023 1 次提交
  11. 11 5月, 2023 1 次提交
    • xurime's avatar
      Ref #1199, this support applies partial built-in language number format code · 49234fb9
      xurime 提交于
      - Remove the `Lang` field in the `Style` data type
      - Rename field name `ShortDateFmtCode` to `ShortDatePattern` in the `Options` data type
      - Rename field name `LongDateFmtCode` to `LongDatePattern` in the `Options` data type
      - Rename field name `LongTimeFmtCode` to `LongTimePattern` in the `Options` data type
      - Apply built-in language number format code number when creating a new style
      - Checking and returning error if the date and time pattern was invalid
      - Add new `Options` field `CultureInfo` and new exported data type `CultureName`
      - Add new culture name types enumeration for country code
      - Update unit tests
      - Move built-in number format code and currency number format code definition source code
      - Remove the built-in language number format code mapping with Unicode values
      - Fix incorrect number formatted result for date and time with 12 hours at AM
      49234fb9
  12. 04 5月, 2023 1 次提交
  13. 30 4月, 2023 1 次提交
  14. 17 4月, 2023 1 次提交
    • xurime's avatar
      This commit contains 5 changes: · d0ad0f39
      xurime 提交于
      - Fix incorrect comment box size for multi-line plain text comments
      - Prevent create duplicate tables with the same name
      - Add new exported error variable `ErrExistsTableName`
      - Allocate buffer inside escape XML characters
      - Update the unit tests
      d0ad0f39
  15. 29 3月, 2023 1 次提交
  16. 25 3月, 2023 1 次提交
    • xurime's avatar
      Breaking changes: changed the function signature for 4 exported functions · 60b9d029
      xurime 提交于
      - Change
          `func (f *File) AddVBAProject(bin string) error`
          to
          `func (f *File) AddVBAProject(file []byte) error`
      - Change
          `func (f *File) GetComments() (map[string][]Comment, error)`
          to
          `func (f *File) GetComments(sheet string) ([]Comment, error)`
      - Change
          `func (f *File) AddTable(sheet, rangeRef string, opts *TableOptions) error`
          to
          `func (f *File) AddTable(sheet string, table *Table) error`
      - Change
          `func (sw *StreamWriter) AddTable(rangeRef string, opts *TableOptions) error`
          to
          `func (sw *StreamWriter) AddTable(table *Table) error`
      - Rename exported data type `TableOptions` to `Table`
      - Simplify the assert statements in the unit tests
      - Update documents for the functions
      - Update unit tests
      60b9d029
  17. 19 3月, 2023 1 次提交
    • xurime's avatar
      Breaking changes: changed the function signature for 2 exported functions · 478b528a
      xurime 提交于
      - Change
          `func (f *File) AddPictureFromBytes(sheet, cell, name, extension string, file []byte, opts *GraphicOptions) error`
          to
          `func (f *File) AddPictureFromBytes(sheet, cell string, pic *Picture) error`
      - Change
          `func (f *File) GetPicture(sheet, cell string) (string, []byte, error)`
          to
          `func (f *File) GetPictures(sheet, cell string) ([]Picture, error)`
      Co-authored-by: Nhuangsk <645636204@qq.com>
      478b528a
  18. 27 2月, 2023 1 次提交
  19. 22 2月, 2023 1 次提交
  20. 12 1月, 2023 1 次提交
  21. 08 1月, 2023 1 次提交
  22. 07 1月, 2023 1 次提交
  23. 02 1月, 2023 1 次提交
    • xurime's avatar
      This fixed worksheet protection issue · b39626fa
      xurime 提交于
      - Update example code in the documentation
      - Update unit tests
      - Rename `PictureOptions` to `GraphicOptions`
      - Adjust partial options fields data types for the `PictureOptions` and `Shape` structure
      - Update dependencies module
      b39626fa
  24. 30 12月, 2022 1 次提交
    • xurime's avatar
      Breaking change: changed the function signature for 11 exported functions · f58dabd4
      xurime 提交于
      * Change
          `func (f *File) NewConditionalStyle(style string) (int, error)`
          to
          `func (f *File) NewConditionalStyle(style *Style) (int, error)`
      * Change
          `func (f *File) NewStyle(style interface{}) (int, error)`
           to
          `func (f *File) NewStyle(style *Style) (int, error)`
      * Change
          `func (f *File) AddChart(sheet, cell, opts string, combo ...string) error`
           to
          `func (f *File) AddChart(sheet, cell string, chart *ChartOptions, combo ...*ChartOptions) error`
      * Change
          `func (f *File) AddChartSheet(sheet, opts string, combo ...string) error`
           to
          `func (f *File) AddChartSheet(sheet string, chart *ChartOptions, combo ...*ChartOptions) error`
      * Change
          `func (f *File) AddShape(sheet, cell, opts string) error`
           to
          `func (f *File) AddShape(sheet, cell string, opts *Shape) error`
      * Change
          `func (f *File) AddPictureFromBytes(sheet, cell, opts, name, extension string, file []byte) error`
           to
          `func (f *File) AddPictureFromBytes(sheet, cell, name, extension string, file []byte, opts *PictureOptions) error`
      * Change
          `func (f *File) AddTable(sheet, hCell, vCell, opts string) error`
           to
          `func (f *File) AddTable(sheet, reference string, opts *TableOptions) error`
      * Change
          `func (sw *StreamWriter) AddTable(hCell, vCell, opts string) error`
           to
          `func (sw *StreamWriter) AddTable(reference string, opts *TableOptions) error`
      * Change
          `func (f *File) AutoFilter(sheet, hCell, vCell, opts string) error`
           to
          `func (f *File) AutoFilter(sheet, reference string, opts *AutoFilterOptions) error`
      * Change
          `func (f *File) SetPanes(sheet, panes string) error`
           to
          `func (f *File) SetPanes(sheet string, panes *Panes) error`
      * Change
          `func (sw *StreamWriter) AddTable(hCell, vCell, opts string) error`
           to
          `func (sw *StreamWriter) AddTable(reference string, opts *TableOptions) error`
      * Change
          `func (f *File) SetConditionalFormat(sheet, reference, opts string) error`
           to
          `func (f *File) SetConditionalFormat(sheet, reference string, opts []ConditionalFormatOptions) error`
      * Add exported types:
        * AutoFilterListOptions
        * AutoFilterOptions
        * Chart
        * ChartAxis
        * ChartDimension
        * ChartLegend
        * ChartLine
        * ChartMarker
        * ChartPlotArea
        * ChartSeries
        * ChartTitle
        * ConditionalFormatOptions
        * PaneOptions
        * Panes
        * PictureOptions
        * Shape
        * ShapeColor
        * ShapeLine
        * ShapeParagraph
        * TableOptions
      * This added support for set sheet visible as very hidden
      * Return error when missing required parameters for set defined name
      * Update unit test and comments
      f58dabd4
  25. 27 12月, 2022 1 次提交
  26. 23 12月, 2022 1 次提交
    • guoweikuang's avatar
      This closes #1425, breaking changes for sheet name (#1426) · 6a5ee811
      guoweikuang 提交于
      - Checking and return error for invalid sheet name instead of trim invalid characters
      - Add error return for the 4 functions: `DeleteSheet`, `GetSheetIndex`, `GetSheetVisible` and `SetSheetName`
      - Export new error 4 constants: `ErrSheetNameBlank`, `ErrSheetNameInvalid`, `ErrSheetNameLength` and `ErrSheetNameSingleQuote`
      - Rename exported error constant `ErrExistsWorksheet` to `ErrExistsSheet`
      - Update unit tests for 90 functions: `AddChart`,  `AddChartSheet`, `AddComment`, `AddDataValidation`, `AddPicture`, `AddPictureFromBytes`, `AddPivotTable`, `AddShape`, `AddSparkline`, `AddTable`, `AutoFilter`, `CalcCellValue`, `Cols`, `DeleteChart`, `DeleteComment`, `DeleteDataValidation`, `DeletePicture`, `DeleteSheet`, `DuplicateRow`, `DuplicateRowTo`, `GetCellFormula`, `GetCellHyperLink`, `GetCellRichText`, `GetCellStyle`, `GetCellType`, `GetCellValue`, `GetColOutlineLevel`, `GetCols`, `GetColStyle`, `GetColVisible`, `GetColWidth`, `GetConditionalFormats`, `GetDataValidations`, `GetMergeCells`, `GetPageLayout`, `GetPageMargins`, `GetPicture`, `GetRowHeight`, `GetRowOutlineLevel`, `GetRows`, `GetRowVisible`, `GetSheetIndex`, `GetSheetProps`, `GetSheetVisible`, `GroupSheets`, `InsertCol`, `InsertPageBreak`, `InsertRows`, `MergeCell`, `NewSheet`, `NewStreamWriter`, `ProtectSheet`, `RemoveCol`, `RemovePageBreak`, `RemoveRow`, `Rows`, `SearchSheet`, `SetCellBool`, `SetCellDefault`, `SetCellFloat`, `SetCellFormula`, `SetCellHyperLink`, `SetCellInt`, `SetCellRichText`, `SetCellStr`, `SetCellStyle`, `SetCellValue`, `SetColOutlineLevel`, `SetColStyle`, `SetColVisible`, `SetColWidth`, `SetConditionalFormat`, `SetHeaderFooter`, `SetPageLayout`, `SetPageMargins`, `SetPanes`, `SetRowHeight`, `SetRowOutlineLevel`, `SetRowStyle`, `SetRowVisible`, `SetSheetBackground`, `SetSheetBackgroundFromBytes`, `SetSheetCol`, `SetSheetName`, `SetSheetProps`, `SetSheetRow`, `SetSheetVisible`, `UnmergeCell`, `UnprotectSheet` and
      `UnsetConditionalFormat`
      - Update documentation of the set style functions
      Co-authored-by: Nguoweikuang <weikuang.guo@shopee.com>
      6a5ee811
  27. 13 11月, 2022 1 次提交
  28. 12 11月, 2022 1 次提交
  29. 02 11月, 2022 1 次提交
  30. 20 10月, 2022 1 次提交
  31. 13 10月, 2022 1 次提交
  32. 29 9月, 2022 1 次提交
    • xurime's avatar
      This closes #1358, made a refactor with breaking changes, see details: · 53a49556
      xurime 提交于
      This made a refactor with breaking changes:
      
      Motivation and Context
      
      When I decided to add set horizontal centered support for this library to resolve #1358, the reason I made this huge breaking change was:
      
      - There are too many exported types for set sheet view, properties, and format properties, although a function using the functional options pattern can be optimized by returning an anonymous function, these types or property set or get function has no binding categorization, so I change these functions like `SetAppProps` to accept a pointer of options structure.
      - Users can not easily find out which properties should be in the `SetSheetPrOptions` or `SetSheetFormatPr` categories
      - Nested properties cannot proceed modify easily
      
      Introduce 5 new export data types:
      `HeaderFooterOptions`, `PageLayoutMarginsOptions`, `PageLayoutOptions`, `SheetPropsOptions`, and `ViewOptions`
      
      Rename 4 exported data types:
      - Rename `PivotTableOption` to `PivotTableOptions`
      - Rename `FormatHeaderFooter` to `HeaderFooterOptions`
      - Rename `FormatSheetProtection` to `SheetProtectionOptions`
      - Rename `SparklineOption` to `SparklineOptions`
      
      Remove 54 exported types:
      `AutoPageBreaks`, `BaseColWidth`, `BlackAndWhite`, `CodeName`, `CustomHeight`, `Date1904`, `DefaultColWidth`, `DefaultGridColor`, `DefaultRowHeight`, `EnableFormatConditionsCalculation`, `FilterPrivacy`, `FirstPageNumber`, `FitToHeight`, `FitToPage`, `FitToWidth`, `OutlineSummaryBelow`, `PageLayoutOption`, `PageLayoutOptionPtr`, `PageLayoutOrientation`, `PageLayoutPaperSize`, `PageLayoutScale`, `PageMarginBottom`, `PageMarginFooter`, `PageMarginHeader`, `PageMarginLeft`, `PageMarginRight`, `PageMarginsOptions`, `PageMarginsOptionsPtr`, `PageMarginTop`, `Published`, `RightToLeft`, `SheetFormatPrOptions`, `SheetFormatPrOptionsPtr`, `SheetPrOption`, `SheetPrOptionPtr`, `SheetViewOption`, `SheetViewOptionPtr`, `ShowFormulas`, `ShowGridLines`, `ShowRowColHeaders`, `ShowRuler`, `ShowZeros`, `TabColorIndexed`, `TabColorRGB`, `TabColorTheme`, `TabColorTint`, `ThickBottom`, `ThickTop`, `TopLeftCell`, `View`, `WorkbookPrOption`, `WorkbookPrOptionPtr`, `ZeroHeight` and `ZoomScale`
      
      Remove 2 exported constants:
      `OrientationPortrait` and `OrientationLandscape`
      
      Change 8 functions:
      - Change the `func (f *File) SetPageLayout(sheet string, opts ...PageLayoutOption) error` to `func (f *File) SetPageLayout(sheet string, opts *PageLayoutOptions) error`
      - Change the `func (f *File) GetPageLayout(sheet string, opts ...PageLayoutOptionPtr) error` to `func (f *File) GetPageLayout(sheet string) (PageLayoutOptions, error)`
      - Change the `func (f *File) SetPageMargins(sheet string, opts ...PageMarginsOptions) error` to `func (f *File) SetPageMargins(sheet string, opts *PageLayoutMarginsOptions) error`
      - Change the `func (f *File) GetPageMargins(sheet string, opts ...PageMarginsOptionsPtr) error` to `func (f *File) GetPageMargins(sheet string) (PageLayoutMarginsOptions, error)`
      - Change the `func (f *File) SetSheetViewOptions(sheet string, viewIndex int, opts ...SheetViewOption) error` to `func (f *File) SetSheetView(sheet string, viewIndex int, opts *ViewOptions) error`
      - Change the `func (f *File) GetSheetViewOptions(sheet string, viewIndex int, opts ...SheetViewOptionPtr) error` to `func (f *File) GetSheetView(sheet string, viewIndex int) (ViewOptions, error)`
      - Change the `func (f *File) SetWorkbookPrOptions(opts ...WorkbookPrOption) error` to `func (f *File) SetWorkbookProps(opts *WorkbookPropsOptions) error`
      - Change the `func (f *File) GetWorkbookPrOptions(opts ...WorkbookPrOptionPtr) error` to `func (f *File) GetWorkbookProps() (WorkbookPropsOptions, error)`
      
      Introduce new function to instead of existing functions:
      - New function `func (f *File) SetSheetProps(sheet string, opts *SheetPropsOptions) error` instead of `func (f *File) SetSheetPrOptions(sheet string, opts ...SheetPrOption) error` and `func (f *File) SetSheetFormatPr(sheet string, opts ...SheetFormatPrOption
      53a49556
  33. 28 9月, 2022 1 次提交
    • xurime's avatar
      This closes #1360, closes #1361 · efcf599d
      xurime 提交于
      - Fix default number format parse issue with a long string of digits
      - Fix creating a sheet with an empty name cause a corrupted file
      - The `GetCellStyle` function no longer return master cell style of the merge cell range
      - Using the specialized name in variables and functions
      efcf599d
  34. 18 9月, 2022 1 次提交
  35. 11 9月, 2022 1 次提交
  36. 08 9月, 2022 1 次提交
  37. 01 9月, 2022 1 次提交
  38. 28 8月, 2022 1 次提交
  39. 27 8月, 2022 1 次提交
  40. 25 8月, 2022 1 次提交