qax-os/excelize · error
ErrPageSetupAdjustTo
ErrPageSetupAdjustTo
Error message
adjust to value must be an integer from 0 to 400
What it means
ErrPageSetupAdjustTo is returned by SetPageLayout when the AdjustTo option is outside the range Excel allows (10 to 400 percent of normal size). The declared message mentions 0-400, but sheet.go:1689 enforces 10 <= v <= 400.
Source
Thrown at errors.go:120
ErrMaxRows = errors.New("row number exceeds maximum limit")
// ErrNameLength defined the error message on receiving the defined name or
// table name length exceeds the limit.
ErrNameLength = fmt.Errorf("the name length exceeds the %d characters limit", MaxFieldLength)
// ErrMaxGraphicAltTextLength defined the error message on receiving the
// graphic alt text length exceeds the limit.
ErrMaxGraphicAltTextLength = fmt.Errorf("the alt text length exceeds the %d characters limit", MaxGraphicAltTextLength)
// ErrMaxGraphicNameLength defined the error message on receiving the
// graphic name length exceeds the limit.
ErrMaxGraphicNameLength = fmt.Errorf("the name length exceeds the %d characters limit", MaxGraphicNameLength)
// ErrOptionsUnzipSizeLimit defined the error message for receiving
// invalid UnzipSizeLimit and UnzipXMLSizeLimit.
ErrOptionsUnzipSizeLimit = errors.New("the value of UnzipSizeLimit should be greater than or equal to UnzipXMLSizeLimit")
// ErrOutlineLevel defined the error message on receive an invalid outline
// level number.
ErrOutlineLevel = errors.New("invalid outline level")
// ErrPageSetupAdjustTo defined the error message for receiving a page setup
// adjust to value exceeds limit.
ErrPageSetupAdjustTo = errors.New("adjust to value must be an integer from 0 to 400")
// ErrParameterInvalid defined the error message on receive the invalid
// parameter.
ErrParameterInvalid = errors.New("parameter is invalid")
// ErrParameterRequired defined the error message on receive the empty
// parameter.
ErrParameterRequired = errors.New("parameter is required")
// ErrPasswordLengthInvalid defined the error message on invalid password
// length.
ErrPasswordLengthInvalid = errors.New("password length invalid")
// ErrPivotTableShowValuesAsBaseField defined the error message on enable
// this kind of "show values as" type requires a base field.
ErrPivotTableShowValuesAsBaseField = errors.New("this kind of show values as type requires a base field")
// ErrPivotTableShowValuesAsBaseItem defined the error message on enable
// this kind of "show values as" type and base field requires a base item.
ErrPivotTableShowValuesAsBaseItem = errors.New("this kind of show values as type and base field requires a base item")
// ErrPivotTableClassicLayout defined the error message on enable
// ClassicLayout and CompactData in the same time.
ErrPivotTableClassicLayout = errors.New("cannot enable ClassicLayout and CompactData in the same time")View on GitHub (pinned to f2483381fb)
Solutions
- Set AdjustTo to an integer between 10 and 400
- Omit AdjustTo (leave nil) if you do not need a custom scale
- Clamp user-supplied scaling percentages before assigning
Example fix
// before
f.SetPageLayout("Sheet1", &PageLayoutOptions{AdjustTo: uintPtr(5)})
// after
f.SetPageLayout("Sheet1", &PageLayoutOptions{AdjustTo: uintPtr(100)}) Defensive patterns
Strategy: validation
Validate before calling
func validAdjustTo(v uint) bool { return v >= 10 && v <= 400 }
if opts.AdjustTo != nil && validAdjustTo(*opts.AdjustTo) { err := f.SetPageLayout(sheet, opts) } Type guard
func validAdjustTo(v uint) bool { return v >= 10 && v <= 400 } Try / catch
if err := f.SetPageLayout(sheet, opts); errors.Is(err, excelize.ErrPageSetupAdjustTo) { // clamp and retry with 100 } Prevention
- Only set AdjustTo for genuine scale values (10-400%)
- Leave AdjustTo nil unless a custom scale is needed
- Clamp user-provided percentages before assigning
When it happens
Trigger: Calling File.SetPageLayout(sheet, &PageLayoutOptions{AdjustTo: uintPtr(v)}) with v < 10 or v > 400, e.g. uintPtr(5) as in sheet_test.go:224.
Common situations: Hard-coding a scale value like 5 or 500 for a custom zoom; computing percentage from user input without bounds; confusing AdjustTo with a boolean fit-to-page flag.
Understand the failure class
Background: "value must be between 0 and 1" / "out of range" / "must not be negative" errors: fixing range-validation failures across open-source libraries — this error's family across 42 libraries.
Related errors
- ErrOutlineLevel
- ErrParameterInvalid
- fill type value must be one of 'gradient' or 'pattern'
- fill color value must be an array of two colors for 'gradien
- fill shading value must be between 0 and 16 for 'gradient' t
AI-assisted analysis of qax-os/excelize@f2483381fb (2026-09-02).
Data as JSON: /api/errors/ede514ebd687bd88.
Report an issue: GitHub.