Golang excel 패키지 내보내기 기능
package myutils
import (
"feinail/of_capital/config"
"fmt"
"github.com/jinzhu/gorm"
"github.com/tealeg/xlsx"
"strconv"
"time"
)
func ExcelExportData(db *gorm.DB, config config.Config, header []interface{}, data [][]interface{}, sheetName string) string {
timeStr := time.Now().Format("2006-01-02 15:04:05")
var file *xlsx.File
var sheet *xlsx.Sheet
var row *xlsx.Row
var cell *xlsx.Cell
style := &xlsx.Style{}
style.Fill = *xlsx.NewFill("solid", "EFEFDE", "EFEFDE")
style.Border = xlsx.Border{RightColor: "FF"}
file = xlsx.NewFile()
sheet, _ = file.AddSheet(sheetName)
row = sheet.AddRow()
for _, head := range header { //looping from 0 to the length of the array
cell = row.AddCell()
cell.Value = head.(string)
cell.SetStyle(style)
}
for _, obj := range data {
fmt.Println(obj)
row = sheet.AddRow()
for _, value := range obj {
switch value.(type) {
case string:
value = value
break
case int:
value = strconv.Itoa(value.(int))
break
case float64:
value = strconv.FormatFloat(value.(float64), 'f', -1, 64)
break
}
cell = row.AddCell()
cell.Value = value.(string)
}
}
url := config.ExcelPath + timeStr + ".xlsx"
file.Save(url)
return url
}
func To2Array(params []interface{}) [][]interface{} {
var content_arr [][]interface{}
for _, param := range params {
var col []interface{}
for _, p := range param.([]interface{}) {
col = append(col, p.(interface{}))
}
content_arr = append(content_arr, col)
}
return content_arr
}
content := ReqParams["content"].([]interface{})
content_arr2 := myutils.To2Array(content)
rs := myutils.ExcelExportData(db, config, ReqParams["header"].([]interface{}), content_arr2, ReqParams["sheet_name"].(string))
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.