Συνεργασία με διαχείριση Spreadsheet

Συνεργασία με διαχείριση Spreadsheet

Συνεργασία με διαχείριση Spreadsheet

Η Workbook Η τάξη είναι το ρίζα αντικείμενο για όλες τις λειτουργίες του διαδίκτυου στο Aspose.Cells FOSS για .NET. παρέχει πρόσβαση στην WorksheetCollection, καθορισμένα ονόματα και κύκλο ζωής αποθήκευσης/αποφόρτωσης.Ο παρών οδηγός καλύπτει την ανεκτικότητα φόρτισης, τη οργάνωση φύλλου εργασίας, τον ρυθμό εκτύπωσης-διατάξεων και τους ελέγχους διατάξεις γραμμής/στήλης/κύλινου.


Κατεβάστε βιβλία εργασίας με επιλογές επισκευής

Πάρτε ένα αρχείο στο δρόμο για το Workbook κατασκευαστής για να φορτώσει ένα υπάρχον αρχείο XLSX. Παρέχει μια LoadOptions αντικείμενο με TryRepairPackage και TryRepairXml ΣΕΤΙΔΑ ΓΙΑ true να προσπαθήσει να ανακτήσει αρχεία με ελαφριά διαρθρωτική διαφθορά. α) WorkbookLoadException Το αρχείο απορρίπτεται όταν το αρχεία δεν είναι ανακτήσιμο.

using Aspose.Cells_FOSS;

var options = new LoadOptions
{
    TryRepairPackage = true,
    TryRepairXml = true,
};

try
{
    var wb = new Workbook("data.xlsx", options);
    Console.WriteLine("Sheets: " + wb.Worksheets.Count);
    Console.WriteLine("Cell A1: " + wb.Worksheets[0].Cells["A1"].StringValue);
}
catch (WorkbookLoadException ex)
{
    Console.WriteLine("Unrecoverable: " + ex.Message);
}

Προσθήκη και οργάνωση εργαστηρίων

Workbook.Worksheets Επιστρέφει ο Α WorksheetCollection.Κλήση Add(name) να προσθέσετε ένα νέο φύλλο εργασίας με όνομα, η μέθοδος επιστρέφει τον δείκτη του νέου φύλλου. WorksheetCollection.ActiveSheetName να ελέγξετε ποια καρτέλα είναι ενεργή όταν ανοίγει το αρχείο.

using Aspose.Cells_FOSS;

var wb = new Workbook();

// Rename the default sheet
wb.Worksheets[0].Name = "Summary";

// Add sheets
var dataIdx = wb.Worksheets.Add("Data");
var archiveIdx = wb.Worksheets.Add("Archive");

// Set active sheet
wb.Worksheets.ActiveSheetName = "Data";

// Write to sheets by name
wb.Worksheets["Summary"].Cells["A1"].PutValue("Overview total");
wb.Worksheets["Data"].Cells["A1"].PutValue("Raw rows start here");

wb.Save("organised.xlsx");

// Verify
var loaded = new Workbook("organised.xlsx");
Console.WriteLine("Active: " + loaded.Worksheets.ActiveSheetName);
Console.WriteLine("Sheet count: " + loaded.Worksheets.Count);

Κρύβοντας και εμφανίζοντας εργαστήρια

ΣΕΤΙΔΑ Worksheet.VisibilityType Για να VisibilityType.Hidden να κρύψει ένα φύλλο χωρίς να το διαγράψετε. Τα κρυμμένα φύλλα αποθηκεύονται στο αρχείο XLSX και μπορούν να γίνουν ορατά με τη ρύθμιση VisibilityType.Visible.Το χρώμα του Tab είναι καθορισμένο μέσω Worksheet.TabColor.

using Aspose.Cells_FOSS;

var wb = new Workbook();
wb.Worksheets[0].Name = "Visible";
var hiddenIdx = wb.Worksheets.Add("Internal");
var hiddenSheet = wb.Worksheets[hiddenIdx];

hiddenSheet.VisibilityType = VisibilityType.Hidden;
hiddenSheet.Cells["A1"].PutValue("Internal data");

wb.Worksheets["Visible"].TabColor = Color.FromArgb(255, 70, 130, 180);

wb.Save("hidden.xlsx");

Εισαγωγή Page Setup

Worksheet.PageSetup Εμφανίζει όλες τις ιδιότητες που σχετίζονται με την εκτύπωση. PageOrientationType να μεταβείτε μεταξύ πορτρέτου και τοπίου. χρησιμοποιήστε PaperSizeType για να επιλέξετε ένα μέγεθος χαρτιού. ορίστε την περιοχή εκτύπωσης με PrintArea, να επαναλάβετε γραμμές / στήλες με PrintTitleRows/PrintTitleColumns, και προσθέστε χειροκίνητα διαλείμματα σελίδας με AddHorizontalPageBreak και AddVerticalPageBreak.

using Aspose.Cells_FOSS;

var wb = new Workbook();
var ws = wb.Worksheets[0];

// Sample data
for (var r = 0; r < 60; r++)
    ws.Cells[r, 0].PutValue("Row " + (r + 1));

var ps = ws.PageSetup;
ps.Orientation = PageOrientationType.Landscape;
ps.PaperSize = PaperSizeType.PaperA4;
ps.LeftMarginInch = 0.5d;
ps.RightMarginInch = 0.5d;
ps.TopMarginInch = 0.75d;
ps.BottomMarginInch = 0.75d;
ps.PrintArea = "$A$1:$H$60";
ps.PrintTitleRows = "$1:$1";
ps.CenterHeader = "Sales Report";
ps.LeftFooter = "Confidential";
ps.RightFooter = "Page &P of &N";
ps.PrintGridlines = true;
ps.CenterHorizontally = true;
ps.AddHorizontalPageBreak(30);

wb.Save("paged.xlsx");

var loaded = new Workbook("paged.xlsx");
Console.WriteLine("Orientation: " + loaded.Worksheets[0].PageSetup.Orientation);
Console.WriteLine("Print area: " + loaded.Worksheets[0].PageSetup.PrintArea);

Σημειώσεις και στήλες

Πρόσβαση Worksheet.Cells.Rows Με τον δείκτη να αποκτήσουμε ένα Row Συσκευή - Set Row.Height (σε σημεία) για να ελέγξετε το ύψος της γραμμής. Row.IsHidden Για να true Να κρύψει την γραμμή. πρόσβαση Worksheet.Cells.Columns Με τον δείκτη να αποκτήσουμε ένα Column Συσκευή - Set Column.Width (Σε μια μονάδα χαρακτήρα) και Column.IsHidden.

using Aspose.Cells_FOSS;

var wb = new Workbook();
var ws = wb.Worksheets[0];

// Populate data
for (var r = 0; r < 5; r++)
    for (var c = 0; c < 4; c++)
        ws.Cells[r, c].PutValue($"R{r + 1}C{c + 1}");

// Row height and visibility
ws.Cells.Rows[0].Height = 28d;   // Header taller
ws.Cells.Rows[3].IsHidden = true; // Hide row 4

// Column width and visibility
ws.Cells.Columns[0].Width = 22d;
ws.Cells.Columns[3].IsHidden = true;

wb.Save("layout.xlsx");

var loaded = new Workbook("layout.xlsx");
Console.WriteLine("Row 0 height: " + loaded.Worksheets[0].Cells.Rows[0].Height);
Console.WriteLine("Col 0 width: " + loaded.Worksheets[0].Cells.Columns[0].Width);

Μειώνοντας κύτταρα

Κλήση Worksheet.Cells.Merge(firstRow, firstColumn, totalRows, totalColumns) για να συγχωνεύσει ένα ενδιάμεσο ορθογώνιο μπλοκ σε ένα μόνο κύτταρο. το συγχέτευτο κύστη κληρονομεί την αξία του ανώτερου αριστερού κυττάρου. Worksheet.Cells.MergedCells Να διαβάσετε ξανά όλες τις ενωμένες περιοχές σε ένα φορτισμένο βιβλίο εργασίας.

using Aspose.Cells_FOSS;

var wb = new Workbook();
var ws = wb.Worksheets[0];

// Title spanning A1:D1
ws.Cells["A1"].PutValue("Quarterly Sales Report");
ws.Cells.Merge(0, 0, 1, 4);

// Section header spanning A3:D3
ws.Cells["A3"].PutValue("Region: North");
ws.Cells.Merge(2, 0, 1, 4);

// Column headers
ws.Cells["A4"].PutValue("Product"); ws.Cells["B4"].PutValue("Q1");
ws.Cells["C4"].PutValue("Q2");      ws.Cells["D4"].PutValue("Q3");

wb.Save("report.xlsx");

var loaded = new Workbook("report.xlsx");
Console.WriteLine("Merged regions: " + loaded.Worksheets[0].Cells.MergedCells.Count);

Συμβουλές και βέλτιστες πρακτικές

  • Χρησιμοποιήστε WorksheetCollection.ActiveSheetName Για να διασφαλιστεί ότι επιλέγεται η σωστή καρτέλα όταν το αρχείο ανοίγει στο Excel.
  • Η διακόσμηση του χαρτοφυλακίου σε λίρες (LeftMarginInch, TopMarginInch(α) Αυτές είναι οι αξίες πλωτών σημείων, όχι οι ενσωματωμένες.
  • Η Σοφία των Ελεφαντοσίων (IsHidden = trueδιατηρεί τα δεδομένα τους· η διαγραφή μιας σειράς αφαιρεί μόνιμα τα στοιχεία.
  • Πάντα καλέστε Workbook.Save() Κάθε φορά στο τέλος μιας επιχείρησης, αντί μετά από κάθε αλλαγή.
  • Συνδυάζουν τα κύτταρα με αποδοτικό τρόπο σε φύλλα δεδομένων - οι συνδεδεμένες περιοχές εμποδίζουν τη διαίρεση και το αυτο-φιλτράρ να λειτουργούν σωστά σε όλη την ενσωματωμένη περιοχή.

κοινά ζητήματα

ΘέμαΑιτίαΦΙΛΕΞΗ
WorkbookLoadException ΣΤΟ ΛΟΙΓΔιαστρεβλωμένο ZIP ή XML στο XLSXΣΕΤΙΔΑ LoadOptions.TryRepairPackage = true και TryRepairXml = true
Add(name) Επιστρέφει το λάθος δείκτηΧρησιμοποιώντας το όνομα του φύλλου ως δείκτηAdd() επιστρέφει έναν δείκτη int. χρησιμοποιήστε αυτόν τον δείκτη για να έχετε πρόσβαση στο νέο φύλλο
Το ύψος του σιδήρου δεν παραμένειΤο ύψος που καθορίζεται σε 0 ή αρνητική τιμήΧρησιμοποιήστε μια θετική διπλή αξία όπως: 28d
Το κελί δείχνει λάθος αξίαΑξία γραμμένη σε μη-πάνω αριστερή κύτταρο της περιόδου συγχώνευσηςΓράψτε την τιμή στο ανώτερο αριστερό κελί πριν καλέσετε Cells.Merge()
Η σελίδα δεν εμφανίζεταιAddHorizontalPageBreak Καλέστε μετά Save()Εισάγετε διακοπές σελίδας πριν καλέσετε Save()

FAQ

Πόσα βιβλία μπορώ να προσθέσω;?

Η μορφή XLSX υποστηρίζει έως και 1024 φύλλα ανά βιβλίο εργασίας. τα πρακτικά όρια εξαρτώνται από τη διαθέσιμη μνήμη και το μέγεθος του αρχείου.

Μπορώ να αντιγράψω ένα φύλλο εργασίας μεταξύ των βιβλία εργασίας;?

Η σημερινή επιφάνεια API δεν εκθέτει μια CopyTo μέθοδος για αντίγραφα φύλλων cross-workbook. Κατεβάστε και τα αρχεία και μεταφέρετε δεδομένα κυττάρων ανά κύτταρο.

Πώς μπορώ να επαναφέρω τα φύλλα εργασίας;?

Χρησιμοποιήστε WorksheetCollection Δείκτης πρόσβασης και ανακαλεί φύλλα για να αλλάξει τη λογική τους σειρά. άμεση θέση κίνηση δεν βρίσκεται στην τρέχουσα επιφάνεια API.

Ποια μονάδα κάνει PageSetup Χρησιμοποιήστε το μάρκετινγκ;?

Όλες οι περιουσιακές συνθήκες (LeftMarginInch, TopMarginInch,και τα) είναι σε ίντσες όπως double αξίες .

Η ΚΕ Cells.Merge Αντικαταστήστε τα υπάρχοντα δεδομένα κελιών;?

Η αξία του ανώτερου αριστερού κυττάρου διατηρείται, οι τιμές στα άλλα συγχωνευμένα κύτταρα καθαρίζονται.


Συνοπτική αναφορά API

Κλάση / ΜέθοδοςΠεριγραφή
WorkbookΣτόχος: Δημιουργία, φόρτωση και αποθήκευση εργαστηρίων
Workbook.WorksheetsΕπιστρέφει η WorksheetCollection
Workbook.Save(path)Πληροφορίες για το βιβλίο εργασίας XLSX
WorksheetCollection.Add(name)Εισάγετε ένα νέο φύλλο εργασίας με το όνομα
WorksheetCollection.ActiveSheetNameΕνεργοποίηση στο αρχείο Open
Worksheet.VisibilityTypeVisibilityType.Hidden ή Visible
Worksheet.TabColorΤο χρώμα του (Color)
Worksheet.PageSetupΕισαγωγή layout
PageSetup.OrientationPageOrientationType.Landscape ή Portrait
PageSetup.PaperSizePaperSizeType.PaperA4,κλπ.
PageSetup.AddHorizontalPageBreak(row)Εισάγετε οριζόντια σελίδα break
Cells.Rows[index].HeightΣημειώνεται η ύψος σε σημεία
Cells.Rows[index].IsHiddenΣειρά / Show Rue
Cells.Columns[index].WidthΤο πλάτος της στήλης σε μονάδες χαρακτήρα
Cells.Columns[index].IsHiddenΚρύβει / Σύνθεση στήλη
Cells.Merge(row, col, numRows, numCols)Εμφανίσεις ενός ορθογώνου μπλοκ
Cells.MergedCellsΚατάλογος των συνδεδεμένων περιοχών στο φύλλο
LoadOptions.TryRepairPackageΕπαναλάβετε την επισκευή ZIP στο φορτίο
LoadOptions.TryRepairXmlΠροσπαθήστε να επισκευάσετε το XML στο φορτίο
WorkbookLoadExceptionΠυροβολισμοί όταν το αρχείο είναι ανεκτή
 Ελληνικά