Fix missing err handler
Signed-off-by: Bryan Frimin <bryan@getprobo.com>
This commit is contained in:
@@ -26,8 +26,14 @@ func GenerateSOAExcel(data SOAData) ([]byte, error) {
|
|||||||
defer f.Close()
|
defer f.Close()
|
||||||
|
|
||||||
sheetName := "State of Applicability"
|
sheetName := "State of Applicability"
|
||||||
f.NewSheet(sheetName)
|
_, err := f.NewSheet(sheetName)
|
||||||
f.DeleteSheet("Sheet1")
|
if err != nil {
|
||||||
|
return nil, fmt.Errorf("cannot create sheet: %w", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
if err := f.DeleteSheet("Sheet1"); err != nil {
|
||||||
|
return nil, fmt.Errorf("cannot delete sheet: %w", err)
|
||||||
|
}
|
||||||
|
|
||||||
if err := setupSOAHeader(f, sheetName); err != nil {
|
if err := setupSOAHeader(f, sheetName); err != nil {
|
||||||
return nil, fmt.Errorf("cannot setup Excel header: %w", err)
|
return nil, fmt.Errorf("cannot setup Excel header: %w", err)
|
||||||
@@ -183,20 +189,26 @@ func processField(f *excelize.File, sheetName string, row int, value interface{}
|
|||||||
col := config.Columns[0]
|
col := config.Columns[0]
|
||||||
cellRef := fmt.Sprintf("%s%d", col, row)
|
cellRef := fmt.Sprintf("%s%d", col, row)
|
||||||
|
|
||||||
f.SetCellValue(sheetName, cellRef, v)
|
if err := f.SetCellValue(sheetName, cellRef, v); err != nil {
|
||||||
|
return nil, fmt.Errorf("cannot set cell value: %w", err)
|
||||||
|
}
|
||||||
|
|
||||||
textStyleID, err := createCellStyle(f, getTextStyle())
|
textStyleID, err := createCellStyle(f, getTextStyle())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, fmt.Errorf("cannot create text style: %w", err)
|
return nil, fmt.Errorf("cannot create text style: %w", err)
|
||||||
}
|
}
|
||||||
f.SetCellStyle(sheetName, cellRef, cellRef, textStyleID)
|
if err := f.SetCellStyle(sheetName, cellRef, cellRef, textStyleID); err != nil {
|
||||||
|
return nil, fmt.Errorf("cannot set cell style: %w", err)
|
||||||
|
}
|
||||||
|
|
||||||
if isFirstRow {
|
if isFirstRow {
|
||||||
width := config.DefaultWidth
|
width := config.DefaultWidth
|
||||||
if len(config.Width) > 0 {
|
if len(config.Width) > 0 {
|
||||||
width = config.Width[0]
|
width = config.Width[0]
|
||||||
}
|
}
|
||||||
f.SetColWidth(sheetName, col, col, width)
|
if err := f.SetColWidth(sheetName, col, col, width); err != nil {
|
||||||
|
return nil, fmt.Errorf("cannot set column width: %w", err)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if config.HasFilter {
|
if config.HasFilter {
|
||||||
@@ -226,20 +238,26 @@ func processField(f *excelize.File, sheetName string, row int, value interface{}
|
|||||||
col := config.Columns[0]
|
col := config.Columns[0]
|
||||||
cellRef := fmt.Sprintf("%s%d", col, row)
|
cellRef := fmt.Sprintf("%s%d", col, row)
|
||||||
|
|
||||||
f.SetCellValue(sheetName, cellRef, joinedValue)
|
if err := f.SetCellValue(sheetName, cellRef, joinedValue); err != nil {
|
||||||
|
return nil, fmt.Errorf("cannot set cell value: %w", err)
|
||||||
|
}
|
||||||
|
|
||||||
textStyleID, err := createCellStyle(f, getTextStyle())
|
textStyleID, err := createCellStyle(f, getTextStyle())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, fmt.Errorf("cannot create text style: %w", err)
|
return nil, fmt.Errorf("cannot create text style: %w", err)
|
||||||
}
|
}
|
||||||
f.SetCellStyle(sheetName, cellRef, cellRef, textStyleID)
|
if err := f.SetCellStyle(sheetName, cellRef, cellRef, textStyleID); err != nil {
|
||||||
|
return nil, fmt.Errorf("cannot set cell style: %w", err)
|
||||||
|
}
|
||||||
|
|
||||||
if isFirstRow {
|
if isFirstRow {
|
||||||
width := config.DefaultWidth
|
width := config.DefaultWidth
|
||||||
if len(config.Width) > 0 {
|
if len(config.Width) > 0 {
|
||||||
width = config.Width[0]
|
width = config.Width[0]
|
||||||
}
|
}
|
||||||
f.SetColWidth(sheetName, col, col, width)
|
if err := f.SetColWidth(sheetName, col, col, width); err != nil {
|
||||||
|
return nil, fmt.Errorf("cannot set column width: %w", err)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if config.HasFilter {
|
if config.HasFilter {
|
||||||
|
|||||||
@@ -15,6 +15,7 @@
|
|||||||
package soagen
|
package soagen
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"fmt"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/xuri/excelize/v2"
|
"github.com/xuri/excelize/v2"
|
||||||
@@ -116,14 +117,18 @@ func applyHeaderLayout(f *excelize.File, sheetName string, layout HeaderLayout,
|
|||||||
|
|
||||||
func applyCells(f *excelize.File, sheetName string, cells []HeaderCell, headerStyle, cellStyle int) error {
|
func applyCells(f *excelize.File, sheetName string, cells []HeaderCell, headerStyle, cellStyle int) error {
|
||||||
for _, cell := range cells {
|
for _, cell := range cells {
|
||||||
f.SetCellValue(sheetName, cell.Cell, cell.Value)
|
if err := f.SetCellValue(sheetName, cell.Cell, cell.Value); err != nil {
|
||||||
|
return fmt.Errorf("cannot set cell value: %w", err)
|
||||||
|
}
|
||||||
|
|
||||||
style := cellStyle
|
style := cellStyle
|
||||||
if cell.Style == "header" {
|
if cell.Style == "header" {
|
||||||
style = headerStyle
|
style = headerStyle
|
||||||
}
|
}
|
||||||
|
|
||||||
f.SetCellStyle(sheetName, cell.Cell, cell.Cell, style)
|
if err := f.SetCellStyle(sheetName, cell.Cell, cell.Cell, style); err != nil {
|
||||||
|
return fmt.Errorf("cannot set cell style: %w", err)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -78,12 +78,18 @@ func applyDataValidation(f *excelize.File, sheetName, col string, row int, valid
|
|||||||
dv.Sqref = fmt.Sprintf("%s%d:%s1000", col, row, col) // Apply to reasonable range
|
dv.Sqref = fmt.Sprintf("%s%d:%s1000", col, row, col) // Apply to reasonable range
|
||||||
dv.SetDropList(validation)
|
dv.SetDropList(validation)
|
||||||
dv.SetError(excelize.DataValidationErrorStyleStop, "Invalid Input", "Please select from the dropdown list.")
|
dv.SetError(excelize.DataValidationErrorStyleStop, "Invalid Input", "Please select from the dropdown list.")
|
||||||
return f.AddDataValidation(sheetName, dv)
|
if err := f.AddDataValidation(sheetName, dv); err != nil {
|
||||||
|
return fmt.Errorf("cannot add data validation: %w", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func setColumnWidth(f *excelize.File, sheetName, col string, width float64) error {
|
func setColumnWidth(f *excelize.File, sheetName, col string, width float64) error {
|
||||||
if width > 0 {
|
if width > 0 {
|
||||||
f.SetColWidth(sheetName, col, col, width)
|
if err := f.SetColWidth(sheetName, col, col, width); err != nil {
|
||||||
|
return fmt.Errorf("cannot set column width: %w", err)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user