-
-
Notifications
You must be signed in to change notification settings - Fork 1.8k
Open
Labels
enhancementNew feature or requestNew feature or request
Description
Description
How to set col visible with streamWriter? I didn't find SetColVisible method with StreamWriter, and I try to use SetColStyle to set col hidden, but it does not work.
func main() {
f := excelize.NewFile()
defer func() {
if err := f.Close(); err != nil {
fmt.Println(err)
}
}()
sw, err := f.NewStreamWriter("Sheet1")
if err != nil {
fmt.Println(err)
return
}
err = sw.SetColWidth(1, 2, 45)
if err != nil {
fmt.Println("SetColWidth", err)
return
}
var style int
style, err = f.NewStyle(&excelize.Style{Protection: &excelize.Protection{Hidden: true, Locked: false}})
if err != nil {
fmt.Println("NewStyle", err)
return
}
err = sw.SetColStyle(3, 4, style)
if err != nil {
fmt.Println("SetColStyle", err)
return
}
styleID, err := f.NewStyle(&excelize.Style{Font: &excelize.Font{Color: "777777"}})
if err != nil {
fmt.Println(err)
return
}
if err := sw.SetRow("A1",
[]interface{}{
excelize.Cell{StyleID: styleID, Value: "Data"},
[]excelize.RichTextRun{
{Text: "Rich ", Font: &excelize.Font{Color: "2354E8"}},
{Text: "Text", Font: &excelize.Font{Color: "E83723"}},
},
},
excelize.RowOpts{Height: 45}); err != nil {
fmt.Println(err)
return
}
for rowID := 2; rowID <= 10; rowID++ {
row := make([]interface{}, 50)
for colID := 0; colID < 50; colID++ {
row[colID] = rand.Intn(640000)
}
cell, err := excelize.CoordinatesToCellName(1, rowID)
if err != nil {
fmt.Println(err)
break
}
if err := sw.SetRow(cell, row); err != nil {
fmt.Println(err)
break
}
}
if err := sw.Flush(); err != nil {
fmt.Println(err)
return
}
if err := f.SaveAs("Book1.xlsx"); err != nil {
fmt.Println(err)
}
}
Additional context
No response
Validations
- Check that there isn't already an issue that requests the same feature to avoid creating a duplicate.
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request