Επισκόπηση χαρακτηριστικών
Επισκόπηση Χαρακτηρισμού
Aspose.Cells FOSS για το API του Go εστιάζει σε Workbook, Worksheet, Cells και Cell. Αυτός ο οδηγός περιγράφει τις άλλες δυνατότητες της βιβλιοθήκης: στυλιζάρισμα, επικύρωση δεδομένων, πίνακες, εικόνες και ροές ανάγνωσης για μεγάλα αρχεία.
Στυλιζάρισμα Κελιού
Ομαδοποιήστε τις ρυθμίσεις Font, Fill, Alignment και Border σε ένα επαναχρησιμοποιήσιμο Style, στη συνέχεια εφαρμόστε το σε ένα κελί με Cell.SetStyle:
wb := cells_foss.NewWorkbook()
ws := wb.Worksheets[0]
boldStyle := cells_foss.NewStyle()
boldStyle.Font.Bold = true
boldStyle.Font.Size = 12
highlightStyle := cells_foss.NewStyle()
highlightStyle.Font.Color = "FFFFFFFF"
highlightStyle.Font.Bold = true
highlightStyle.Fill = &cells_foss.Fill{
Type: cells_foss.FillTypeSolid,
Color: "FF4472C4",
}
cell, _ := ws.Cells().Get("A1")
cell.SetStyle(boldStyle)Alignment ελέγχει το Horizontal, Vertical και WrapText; το Border ελέγχει την ορατότητα των κανόνων Top, Bottom, Left και Right καθώς και το Color.
Επικύρωση Δεδομένων
Worksheet.AddDataValidation προσθέτει έναν κανόνα επικύρωσης σε μια περιοχή κελιών. Η δομή DataValidation μεταφέρει τον κανόνα Type, μία ή δύο τιμές Formula, και πεδία μηνυμάτων σφάλματος:
wb := cells_foss.NewWorkbook()
ws := wb.Worksheets[0]
dv := &cells_foss.DataValidation{
Type: cells_foss.DataValidationTypeList,
Formula1: `"Apple,Banana,Cherry,Dragonfruit"`,
AllowBlank: true,
ShowErrorMessage: true,
ErrorTitle: "Invalid Fruit",
ErrorMessage: "Please pick a fruit from the list.",
ErrorStyle: cells_foss.ErrorStyleStop,
}
ws.AddDataValidation("A2:A10", dv)Η επικύρωση εύρους ακεραίων χρησιμοποιεί το DataValidationTypeWhole με Formula1/Formula2 ως το κατώτερο και το ανώτερο όριο.
Πίνακες
Worksheet.AddTable δημιουργεί μια δομημένη Table πάνω σε ένα εύρος, με προαιρετική γραμμή κεφαλίδας και ένα ονομαστικό στυλ πίνακα:
wb := cells_foss.NewWorkbook()
ws := wb.Worksheets[0]
tbl := ws.AddTable("A1:F6")
tbl.HasHeaderRow = true
tbl.StyleName = "TableStyleMedium6"Ανακτήστε έναν υπάρχοντα πίνακα κατά όνομα με το Worksheet.GetTable(name).
Εικόνες
Worksheet.AddPicture ενσωματώνει μια εικόνα; Picture.SetAnchor(row, col) τη τοποθετεί:
wb := cells_foss.NewWorkbook()
ws := wb.Worksheets[0]
imageBytes := []byte{} // populate with real image bytes before use
pic := &cells_foss.Picture{Data: imageBytes, Format: "png"}
ws.AddPicture(pic)
pic.SetAnchor(5, 0)Ροή Μεγάλων Αρχείων
StreamingReader διαβάζει ένα φύλλο εργασίας γραμμή-γραμμή μέσω μιας κλήσης επιστροφής, ώστε ένα βιβλίο εργασίας με χιλιάδες γραμμές να μην χρειάζεται ποτέ να φορτωθεί πλήρως στη μνήμη:
path := "outputfiles/large_workbook.xlsx"
sr := cells_foss.NewStreamingReader(path)
err := sr.ProcessRows("Sheet1", func(rowIdx int, cells map[string]string) error {
// process one row at a time
return nil
})
if err != nil {
fmt.Printf("Error streaming: %v\n", err)
}Συμβουλές και Καλές Πρακτικές
- Χρησιμοποιήστε το
StreamingReaderαντί για μια πλήρη φόρτωσηWorkbookόταν ένα αρχείο μπορεί να έχει χιλιάδες γραμμές και χρειάζεται μόνο να το διαβάσετε, χωρίς να το τροποποιήσετε. - Δημιουργήστε ένα
Styleμία φορά και επαναχρησιμοποιήστε το σε πολλά κελιά αντί να δημιουργείτε ένα νέο για κάθε κελί. Cell.SetFormulaαποθηκεύει μια συμβολοσειρά τύπου κυριολεκτικά — αξιολογείται από το Excel ή το LibreOffice κατά το άνοιγμα, όχι από τη βιβλιοθήκη κατά το χρόνο αποθήκευσης.- Ελέγξτε την τιμή επιστροφής
errorαπό τις κλήσειςSave,AddDataValidationκαι εισαγωγής/εξαγωγής CSV — η I/O του υπολογιστικού φύλλου μπορεί να αποτύχει σε περίπτωση μη έγκυρων διαδρομών ή κακώς διαμορφωμένης εισόδου.
Κοινά Προβλήματα
| Issue | Cause | Διόρθωση |
|---|---|---|
Η τιμή του κελιού δεν είναι ορατή μετά το Set | Αναφορά στο λανθασμένο φύλλο ή σε αναφορά κελιού εκτός εύρους | Επιβεβαιώστε το Worksheet ευρετήριο και ότι η αναφορά τύπου A1 ταιριάζει με το επιθυμητό κελί |
| Ο τύπος εμφανίζεται ως ακατέργαστο κείμενο αντί να υπολογίζεται | Η βιβλιοθήκη αποθηκεύει μόνο τη συμβολοσειρά του τύπου· δεν αξιολογεί τύπους | Ανοίξτε το αρχείο στο Excel ή στο LibreOffice, τα οποία εκτελούν τον υπολογισμό κατά το άνοιγμα |
| Ο έλεγχος δεδομένων δεν είναι ορατός στο Excel | Η επικύρωση προστέθηκε σε μια περιοχή που δεν περιλαμβάνει το κελί-στόχο | Επιβεβαιώστε ότι η συμβολοσειρά περιοχής (π.χ. "A2:A10") καλύπτει τα κελιά που αναμένετε να επικυρώσετε |
FAQ
Η βιβλιοθήκη αξιολογεί τους τύπους μόνη της;
Αρ. Cell.SetFormula/GetFormula αποθηκεύουν μια συμβολοσειρά τύπου που το Excel ή το LibreOffice αξιολογεί όταν ανοίγεται το αρχείο.
Μπορώ να κάνω stream-write σε μεγάλα βιβλία εργασίας, όχι μόνο stream-read τα;
StreamingReader καλύπτει τα streaming reads. Η γραφή μεγάλων βιβλίων εργασίας αυτή τη στιγμή γίνεται μέσω του τυπικού in-memory Workbook/Worksheet API.
Το AddTable εφαρμόζει αυτόματα ένα auto-filter;
Αυτό δεν έχει επιβεβαιωθεί στην τρέχουσα επιφάνεια του API — μόνο τα HasHeaderRow και StyleName είναι τεκμηριωμένα ως πεδία Table. Επαληθεύστε με το παραγόμενο αρχείο .xlsx εάν αυτό έχει σημασία για την περίπτωση χρήσης σας.
API Reference Σύνοψη
| Κλάση / Μέθοδος | Περιγραφή |
|---|---|
Workbook.NewWorkbook / Save | Δημιουργήστε και αποθηκεύστε ένα βιβλίο εργασίας |
Worksheet.Cells | Προσπελάστε τη συλλογή κελιών για ένα φύλλο εργασίας |
Cells.Get / Set / Remove / All | Ανάγνωση, εγγραφή, διαγραφή και απαρίθμηση κελιών |
Cell.SetStyle / SetFormula / GetFormula | Εφαρμόστε στυλ και τύπους σε ένα κελί |
Style, Font, Fill, Alignment, Border | Δημιουργήστε επαναχρησιμοποιήσιμη μορφοποίηση κελιών |
Worksheet.AddDataValidation | Επισυνάψτε έναν κανόνα επικύρωσης σε μια περιοχή κελιών |
Worksheet.AddTable / GetTable | Δημιουργία και ανάκτηση δομημένων περιοχών πίνακα |
Worksheet.AddPicture / Picture.SetAnchor(row, col) | Ενσωμάτωση και τοποθέτηση εικόνων |
StreamingReader.ProcessRows | Ροή ενός φύλλου εργασίας γραμμή προς γραμμή |
Workbook.ExportToCSV / ImportFromCSV | Μετατροπή μεταξύ XLSX και CSV |
Workbook.SetPassword / VerifyPassword | Προστασία και έλεγχος κωδικού βιβλίου εργασίας |