मैं यह निर्धारित करना चाहता हूं कि किसी सेल का मान स्ट्राइक थ्रू है या नहीं।
यह निर्धारित करने के लिए कि किसी सेल का मान स्ट्राइक थ्रू है या नहीं, मुझे दो तरीकों से सेल शैलियाँ प्राप्त करनी होंगी।
यदि किसी सेल के केवल कुछ मान जैसे "A1" को पार किया जाता है, तो मुझे "excelize.RichTextRun" से सेल शैलियाँ प्राप्त करनी चाहिए।
यदि किसी सेल में सभी मानों को "A2" की तरह मारा जाता है, तो मुझे "excelize.xlsxXf" से एक सेल शैली मिलनी चाहिए।
package main import ( "fmt" "log" "github.com/xuri/excelize/v2" ) func GetCellStyles(filePath string) { xlFile, err := excelize.OpenFile(filePath) if err != nil { fmt.Println(err) } defer func() { // Close the spreadsheet. if err := xlFile.Close(); err != nil { fmt.Println(err) } }() sheetName := xlFile.GetSheetName(0) log.Println(sheetName) printCellStyles(xlFile, sheetName, "A1") printCellStyles(xlFile, sheetName, "A2") printCellStyles(xlFile, sheetName, "A3") } func printCellStyles(xlFile *excelize.File, sheetName string, cellAddress string) { log.Printf("--------%s--------", cellAddress) value, _ := xlFile.GetCellValue(sheetName, cellAddress) log.Println(value) // If the cell value has multiple formats, "GetCellRichText" will return multiple values. runs, _ := xlFile.GetCellRichText(sheetName, cellAddress) if len(runs) > 0 { for _, r := range runs { if r.Font == nil { log.Printf("Value: %s No fonts", r.Text) } else { log.Printf("Value: %s Strike through?: %t", r.Text, r.Font.Strike) } } } styleID, _ := xlFile.GetCellStyle(sheetName, cellAddress) // Get cell style info by styleID style := xlFile.Styles.CellXfs.Xf[styleID] // Get font info by style.FontID font := xlFile.Styles.Fonts.Font[*style.FontID] // Check if font.Strike != nil && *font.Strike.Val { log.Println("The cell value has a strike through") } else { log.Println("The cell value doesn't have a strike through") } }
2024/08/27 03:02:32 Sheet1 2024/08/27 03:02:32 --------A1-------- 2024/08/27 03:02:32 123abc 2024/08/27 03:02:32 Value: 12 No fonts 2024/08/27 03:02:32 Value: 3ab Strike through?: true 2024/08/27 03:02:32 Value: c Strike through?: false 2024/08/27 03:02:32 The cell value doesn't have a strike through 2024/08/27 03:02:32 --------A2-------- 2024/08/27 03:02:32 aiu 2024/08/27 03:02:32 The cell value has a strike through 2024/08/27 03:02:32 --------A3-------- 2024/08/27 03:02:32 abc def ghi 2024/08/27 03:02:32 Value: abc No fonts 2024/08/27 03:02:32 Value: def Strike through?: false 2024/08/27 03:02:32 Value: Strike through?: false 2024/08/27 03:02:32 Value: ghi Strike through?: false 2024/08/27 03:02:32 The cell value doesn't have a strike through
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3