Skip to content

Commit

Permalink
Fix: Issue ##1682 - Delete table
Browse files Browse the repository at this point in the history
- DeleteTable does not delete table header values.
  • Loading branch information
abdelaziz-ouhammou committed Oct 6, 2023
1 parent 95fc35f commit 88396ae
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 16 deletions.
12 changes: 0 additions & 12 deletions table.go
Original file line number Diff line number Diff line change
Expand Up @@ -196,18 +196,6 @@ func (f *File) DeleteTable(name string) error {
if ws.TableParts.Count = len(ws.TableParts.TableParts); ws.TableParts.Count == 0 {
ws.TableParts = nil
}
// Delete cell value in the table header
coordinates, err := rangeRefToCoordinates(table.Range)
if err != nil {
return err
}
_ = sortCoordinates(coordinates)
for col := coordinates[0]; col <= coordinates[2]; col++ {
for row := coordinates[1]; row < coordinates[1]+1; row++ {
cell, _ := CoordinatesToCellName(col, row)
err = f.SetCellValue(sheet, cell, nil)
}
}
return err
}
}
Expand Down
16 changes: 12 additions & 4 deletions table_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -122,11 +122,19 @@ func TestDeleteTable(t *testing.T) {
f.Sheet.Delete("xl/worksheets/sheet1.xml")
f.Pkg.Store("xl/worksheets/sheet1.xml", MacintoshCyrillicCharset)
assert.EqualError(t, f.DeleteTable("Table1"), "XML syntax error on line 1: invalid UTF-8")
// Test delete table with invalid table range
// Test delete table without deleting table header
f = NewFile()
assert.NoError(t, f.AddTable("Sheet1", &Table{Range: "A1:B4", Name: "Table1"}))
f.Pkg.Store("xl/tables/table1.xml", []byte("<table name=\"Table1\" ref=\"-\" />"))
assert.EqualError(t, f.DeleteTable("Table1"), ErrParameterInvalid.Error())
assert.NoError(t, f.SetCellValue("Sheet1", "A1", "Date"))
assert.NoError(t, f.SetCellValue("Sheet1", "B1", "Values"))
assert.NoError(t, f.UpdateLinkedValue())
assert.NoError(t, f.AddTable("Sheet1", &Table{Range: "A1:B2", Name: "Table1"}))
assert.NoError(t, f.DeleteTable("Table1"))
val, err := f.GetCellValue("Sheet1", "A1")
assert.NoError(t, err)
assert.Equal(t, "Date", val)
val, err = f.GetCellValue("Sheet1", "B1")
assert.NoError(t, err)
assert.Equal(t, "Values", val)
}

func TestSetTableHeader(t *testing.T) {
Expand Down

0 comments on commit 88396ae

Please sign in to comment.