您好,登錄后才能下訂單哦!
這篇文章主要介紹了Go Excelize API中GetSheetFormatPr如何使用的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇Go Excelize API中GetSheetFormatPr如何使用文章都會有所收獲,下面我們一起來看看吧。
Excelize 是 Go 語言編寫的用于操作 Office Excel 文檔基礎庫,基于 ECMA-376,ISO/IEC 29500 國際標準。
可以使用它來讀取、寫入由 Microsoft Excel™ 2007 及以上版本創建的電子表格文檔。
支持 XLAM / XLSM / XLSX / XLTM / XLTX 等多種文檔格式,高度兼容帶有樣式、圖片(表)、透視表、切片器等復雜組件的文檔,并提供流式讀寫 API,用于處理包含大規模數據的工作簿。
可應用于各類報表平臺、云計算、邊緣計算等系統。
使用本類庫要求使用的 Go 語言為 1.15 或更高版本。
func (f *File) GetSheetFormatPr(sheet string, opts ...SheetFormatPrOptionsPtr) error
根據給定的工作表名稱獲取格式屬性。
可選格式參數 | 數據類型 |
---|---|
BaseColWidth | uint8 |
DefaultColWidth | float64 |
DefaultRowHeight | float64 |
CustomHeight | bool |
ZeroHeight | bool |
ThickTop | bool |
ThickBottom | bool |
使用示例:
f := excelize.NewFile() const sheet = "Sheet1" var ( baseColWidth excelize.BaseColWidth defaultColWidth excelize.DefaultColWidth defaultRowHeight excelize.DefaultRowHeight customHeight excelize.CustomHeight zeroHeight excelize.ZeroHeight thickTop excelize.ThickTop thickBottom excelize.ThickBottom ) if err := f.GetSheetFormatPr(sheet, &baseColWidth, &defaultColWidth, &defaultRowHeight, &customHeight, &zeroHeight, &thickTop, &thickBottom, ); err != nil { fmt.Println(err) } fmt.Println("Defaults:") fmt.Println("- baseColWidth:", baseColWidth) fmt.Println("- defaultColWidth:", defaultColWidth) fmt.Println("- defaultRowHeight:", defaultRowHeight) fmt.Println("- customHeight:", customHeight) fmt.Println("- zeroHeight:", zeroHeight) fmt.Println("- thickTop:", thickTop) fmt.Println("- thickBottom:", thickBottom)
輸出結果:
Defaults:
- baseColWidth: 0
- defaultColWidth: 0
- defaultRowHeight: 15
- customHeight: false
- zeroHeight: false
- thickTop: false
- thickBottom: false
廢話少說,上代碼:
func (f *File) GetSheetFormatPr(sheet string, opts ...SheetFormatPrOptionsPtr) error { s, err := f.workSheetReader(sheet) if err != nil { return err } fp := s.SheetFormatPr for _, opt := range opts { opt.getSheetFormatPr(fp) } return err }
代碼很簡單,先讀取工作表,然后獲取工作表的格式屬性,然后遍歷不定長參數opts,對fp的每個opt進行讀取。
SheetFormatPrOptionsPtr是一個interface。
type SheetFormatPrOptionsPtr interface { SheetFormatPrOptions getSheetFormatPr(formatPr *xlsxSheetFormatPr) }
該interface 內有兩個函數。
我們可以發現,他們都大同小異,第一步的if語句是判斷格式屬性是否存在,如果不存在就賦一個默認值。 然后取格式屬性指針fp的格式屬性,前面是類型轉換:
type xlsxSheetFormatPr struct { XMLName xml.Name `xml:"sheetFormatPr"` BaseColWidth uint8 `xml:"baseColWidth,attr,omitempty"` DefaultColWidth float64 `xml:"defaultColWidth,attr,omitempty"` DefaultRowHeight float64 `xml:"defaultRowHeight,attr"` CustomHeight bool `xml:"customHeight,attr,omitempty"` ZeroHeight bool `xml:"zeroHeight,attr,omitempty"` ThickTop bool `xml:"thickTop,attr,omitempty"` ThickBottom bool `xml:"thickBottom,attr,omitempty"` OutlineLevelRow uint8 `xml:"outlineLevelRow,attr,omitempty"` OutlineLevelCol uint8 `xml:"outlineLevelCol,attr,omitempty"` }
下面介紹一下各個參數的作用:
BaseColWidth:指定普通樣式字體的最大數字寬度的字符數。此值不包括邊距填充或網格線的額外填充。它只是字符數。
DefaultColWidth 指定默認列寬,其度量值為普通樣式字體的最大數字寬度的字符數。
DefaultRowHeight 指定以磅值度量的默認行高,我們不必在所有行上寫入高度。如果大多數行具有自定義高度,則可以將其寫出,以實現優化。
CustomHeight 指定自定義高度。
ZeroHeight 指定是否隱藏行。
ThickTop 指定默認情況下行是否具有粗上邊框。
ThickBottom 指定默認情況下行是否具有粗下邊框。
關于“Go Excelize API中GetSheetFormatPr如何使用”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“Go Excelize API中GetSheetFormatPr如何使用”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。