We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
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
Description
Steps to reproduce the issue:
When I use the latest version(v2.8.1) to delete some rows in the file, I always get the following error:
invalid column name "K14 K"
Code:
rows, err := f.GetRows(sheet) if err != nil { return err } for i := len(rows); i >= 5; i-- { if err = f.RemoveRow(sheet, i); err != nil { fmt.Sprintf("f.remove row failed: %v", err) return err } }
There was no such problem using the previous version, such as v2.6.1。The test file has been posted in the link。 template.xlsx
Output of go version:
go version
go 1.21
Excelize version or commit ID:
v2.8.1
Environment details (OS, Microsoft Excel™ version, physical, etc.):
MacOS
The text was updated successfully, but these errors were encountered:
ran into a similar thing using InsertRows:
InsertRows
invalid column name "K31 E"
Sorry, something went wrong.
Some investigations:
Seems that the sheet I was reading and editing was using the same data validation twice.
inside of adjust.go
adjust.go
func (f *File) adjustDataValidations(ws *xlsxWorksheet, sheet string, dir adjustDirection, num, offset, sheetID int) error { for _, sheetN := range f.GetSheetList() { worksheet, err := f.workSheetReader(sheetN) if err != nil { if err.Error() == newNotWorksheetError(sheetN).Error() { continue } return err } if worksheet.DataValidations == nil { return nil } for i := 0; i < len(worksheet.DataValidations.DataValidation); i++ { dv := worksheet.DataValidations.DataValidation[i] if dv == nil { continue } if sheet == sheetN { fmt.Println("dv.Sqref", dv.Sqref) /// <<----------------HERE ref, del, err := f.adjustCellRef(dv.Sqref, dir, num, offset)
it was feeding two ranges:
dv.Sqref K9:K31 E8:E30
which in turn blew up the insides of lib.go:rangeRefToCoordinates
lib.go:rangeRefToCoordinates
func rangeRefToCoordinates(ref string) ([]int, error) { rng := strings.Split(strings.ReplaceAll(ref, "$", ""), ":") if len(rng) < 2 { return nil, ErrParameterInvalid } fmt.Println(ref, "ref", rng[0], rng[1]) // HERE return cellRefsToCoordinates(rng[0], rng[1]) }
output:
K9:K31 E8:E30 ref K9 K31 E8
Temporary fix for me was to remove the problematic datavalidations before editing the sheet:
if err := f.DeleteDataValidation(sheetName, "K9:K31", "E8:E30"); err != nil { return err }
No branches or pull requests
Description
Steps to reproduce the issue:
When I use the latest version(v2.8.1) to delete some rows in the file, I always get the following error:
Code:
There was no such problem using the previous version, such as v2.6.1。The test file has been posted in the link。
template.xlsx
Output of
go version
:Excelize version or commit ID:
Environment details (OS, Microsoft Excel™ version, physical, etc.):
The text was updated successfully, but these errors were encountered: