Bläddra i källkod

Added AddStreamStyleList

Users can add a list of StreamStyles instead of adding them one by one.
DamianSzkuat 6 år sedan
förälder
incheckning
db1b6abd3b
2 ändrade filer med 18 tillägg och 10 borttagningar
  1. 15 1
      stream_file_builder.go
  2. 3 9
      stream_style_test.go

+ 15 - 1
stream_file_builder.go

@@ -271,7 +271,7 @@ func (sb *StreamFileBuilder) marshalStyles() (string, error) {
 //}
 
 // AddStreamStyle adds a new style to the style sheet.
-// Only Styles that have been added through this function will be usable.
+// Only Styles that have been added through either this function or AddStreamStyleList will be usable.
 // This function cannot be used after AddSheetWithStyle has been called, and if it is
 // called after AddSheetWithStyle it will return an error.
 func (sb *StreamFileBuilder) AddStreamStyle(streamStyle StreamStyle) error {
@@ -287,6 +287,20 @@ func (sb *StreamFileBuilder) AddStreamStyle(streamStyle StreamStyle) error {
 	return nil
 }
 
+// AddStreamStyleList adds a list of new styles to the style sheet.
+// Only Styles that have been added through either this function or AddStreamStyle will be usable.
+// This function cannot be used after AddSheetWithStyle has been called, and if it is
+// called after AddSheetWithStyle it will return an error.
+func (sb *StreamFileBuilder) AddStreamStyleList(streamStyles []StreamStyle) error {
+	for _, streamStyle := range streamStyles {
+		err := sb.AddStreamStyle(streamStyle)
+		if err != nil{
+			return err
+		}
+	}
+	return nil
+}
+
 // processEmptySheetXML will take in the path and XML data of an empty sheet, and will save the beginning and end of the
 // XML file so that these can be written at the right time.
 func (sb *StreamFileBuilder) processEmptySheetXML(sf *StreamFile, path, data string) error {

+ 3 - 9
stream_style_test.go

@@ -107,15 +107,9 @@ func writeStreamFileWithStyle(filePath string, fileBuffer io.Writer, sheetNames
 		file = NewStreamFileBuilder(fileBuffer)
 	}
 
-	err = file.AddStreamStyle(Strings)
-	err = file.AddStreamStyle(BoldStrings)
-	err = file.AddStreamStyle(ItalicStrings)
-	err = file.AddStreamStyle(UnderlinedStrings)
-	err = file.AddStreamStyle(Integers)
-	err = file.AddStreamStyle(BoldIntegers)
-	err = file.AddStreamStyle(ItalicIntegers)
-	err = file.AddStreamStyle(UnderlinedIntegers)
-	if err != nil { // TODO handle all errors not just one
+	err = file.AddStreamStyleList([]StreamStyle{Strings,BoldStrings,ItalicIntegers,UnderlinedStrings,
+												Integers, BoldIntegers, ItalicIntegers, UnderlinedIntegers})
+	if err != nil {
 		return err
 	}