Επισκόπηση χαρακτηριστικών

Επισκόπηση Χαρακτηρισμού

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 του υπολογιστικού φύλλου μπορεί να αποτύχει σε περίπτωση μη έγκυρων διαδρομών ή κακώς διαμορφωμένης εισόδου.

Κοινά Προβλήματα

IssueCauseΔιόρθωση
Η τιμή του κελιού δεν είναι ορατή μετά το 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Προστασία και έλεγχος κωδικού βιβλίου εργασίας

Δείτε επίσης

 Ελληνικά