From d65b30055d247b3f51ffb6f3713a0e913790f0b3 Mon Sep 17 00:00:00 2001 From: Ri Xu Date: Fri, 16 Mar 2018 20:54:07 +0800 Subject: - Update the function `NewSheet()` to handle when already exists a worksheet of the same name, relate pull request #196; - go test and godoc has been updated --- excelize_test.go | 1 + sheet.go | 8 ++++++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/excelize_test.go b/excelize_test.go index 2b67c9e..b98400c 100644 --- a/excelize_test.go +++ b/excelize_test.go @@ -190,6 +190,7 @@ func TestBrokenFile(t *testing.T) { func TestNewFile(t *testing.T) { // Test create a XLSX file. xlsx := NewFile() + xlsx.NewSheet("Sheet1") xlsx.NewSheet("XLSXSheet2") xlsx.NewSheet("XLSXSheet3") xlsx.SetCellInt("XLSXSheet2", "A23", 56) diff --git a/sheet.go b/sheet.go index ae79acb..bc7cb75 100644 --- a/sheet.go +++ b/sheet.go @@ -13,9 +13,13 @@ import ( ) // NewSheet provides function to create a new sheet by given index, when -// creating a new XLSX file, the default sheet will be create, when you create a -// new file. +// creating a new XLSX file, the default sheet will be create, when you create +// a new file. func (f *File) NewSheet(name string) int { + // Check if the worksheet already exists + if f.GetSheetIndex(name) != 0 { + return f.SheetCount + } f.SheetCount++ // Update docProps/app.xml f.setAppXML() -- cgit v1.2.1