Εξαγωγή δεδομένων φύλλου εργασίας του Excel στον πίνακα

Σε αυτό το σεμινάριο, θα μάθουμε πώς να εξάγετε δεδομένα από ένα φύλλο εργασίας του Excel και να δημιουργήσετε έναν πίνακα σε ένα έγγραφο PDF χρησιμοποιώντας τη βιβλιοθήκη Aspose.PDF για .NET. Θα περιηγηθούμε στον πηγαίο κώδικα βήμα προς βήμα και θα εξηγήσουμε κάθε ενότητα λεπτομερώς. Μέχρι το τέλος αυτού του σεμιναρίου, θα μπορείτε να δημιουργήσετε αρχεία PDF με πίνακες που περιέχουν δεδομένα από φύλλα εργασίας του Excel. Ας αρχίσουμε!

Απαιτήσεις

Πριν ξεκινήσουμε, βεβαιωθείτε ότι έχετε τα εξής:

  • Βασικές γνώσεις γλώσσας προγραμματισμού C#
  • Το Visual Studio είναι εγκατεστημένο στον υπολογιστή σας
  • Το Aspose.PDF για βιβλιοθήκη .NET προστέθηκε στο έργο σας

Βήμα 1: Ρύθμιση του περιβάλλοντος

Για να ξεκινήσετε, δημιουργήστε ένα νέο έργο C# στο Visual Studio. Προσθέστε την αναφορά στη βιβλιοθήκη Aspose.PDF για .NET κάνοντας δεξί κλικ στο έργο σας στην Εξερεύνηση λύσεων, επιλέγοντας “Manage NuGet Packages” και αναζητώντας “Aspose.PDF”. Εγκαταστήστε το πακέτο και είστε έτοιμοι.

Βήμα 2: Φόρτωση του φύλλου εργασίας του Excel

Στο πρώτο βήμα του κώδικα μας, ορίζουμε τη διαδρομή προς τον κατάλογο που περιέχει το έγγραφο του Excel. Αντικαταστήστε το “YOUR DOCUMENT DECTORY” με την πραγματική διαδρομή καταλόγου όπου βρίσκεται το αρχείο Excel.

// Η διαδρομή προς τον κατάλογο εγγράφων.
string dataDir = "YOUR DOCUMENT DIRECTORY";

Aspose.Cells.Workbook workbook = new Aspose.Cells.Workbook(new FileStream(dataDir + "newBook1.xlsx", FileMode.Open));

Εδώ, χρησιμοποιούμε τη βιβλιοθήκη Aspose.Cells για να φορτώσουμε το βιβλίο εργασίας του Excel. Βεβαιωθείτε ότι έχετε αντικαταστήσει το “newBook1.xlsx” με το όνομα του αρχείου σας Excel.

Βήμα 3: Πρόσβαση στο φύλλο εργασίας

Στη συνέχεια, πρέπει να αποκτήσουμε πρόσβαση στο πρώτο φύλλο εργασίας στο αρχείο Excel. Αυτό το κάνουμε χρησιμοποιώντας τοWorksheets συλλογή τωνWorkbook αντικείμενο.

// Πρόσβαση στο πρώτο φύλλο εργασίας στο αρχείο Excel
Aspose.Cells.Worksheet worksheet = workbook.Worksheets[0];

Εάν το αρχείο Excel περιέχει πολλά φύλλα εργασίας, μπορείτε να αλλάξετε την τιμή ευρετηρίου[0] για πρόσβαση σε διαφορετικό φύλλο εργασίας.

Βήμα 4: Εξαγωγή δεδομένων στο DataTable

Τώρα, θα εξαγάγουμε τα περιεχόμενα του φύλλου εργασίας του Excel στο aDataTable αντικείμενο. Καθορίζουμε το εύρος των κελιών προς εξαγωγή χρησιμοποιώντας τοExportDataTable μέθοδος.

// Εξαγωγή των περιεχομένων 7 σειρών και 2 στηλών ξεκινώντας από το 1ο κελί στον Πίνακα Δεδομένων
DataTable dataTable = worksheet.Cells.ExportDataTable(0, 0, worksheet.Cells.MaxRow + 1, worksheet.Cells.MaxColumn + 1, true);

Σε αυτό το παράδειγμα, εξάγουμε όλες τις σειρές και τις στήλες ξεκινώντας από το πρώτο κελί (0, 0) έως το τελευταίο κελί του φύλλου εργασίας. Ορίστε το κατάλληλο εύρος με βάση τις απαιτήσεις σας.

Βήμα 5: Δημιουργία εγγράφου PDF

Τώρα, θα δημιουργήσουμε ένα νέο έγγραφο PDF χρησιμοποιώντας τη βιβλιοθήκη Aspose.PDF.

// Δημιουργήστε ένα παράδειγμα εγγράφου
Aspose.Pdf.Document pdf1 = new Aspose.Pdf.Document();

Αυτό δημιουργεί ένα κενό έγγραφο PDF όπου μπορούμε να προσθέσουμε περιεχόμενο.

Βήμα 6: Προσθήκη σελίδας και πίνακα

Για να εμφανίσουμε τα δεδομένα σε μορφή πίνακα, πρέπει να προσθέσουμε μια σελίδα και έναν πίνακα στο έγγραφο PDF.

// Δημιουργήστε μια σελίδα στην παρουσία του εγγράφου
Aspose.Pdf.Page sec1 = pdf1.Pages.Add();

// Δημιουργήστε ένα αντικείμενο πίνακα
Aspose.Pdf.Table tab1 = new Aspose.Pdf.Table();

// Προσθέστε το αντικείμενο Πίνακας στη συλλογή παραγράφων της ενότητας
sec1.Paragraphs.Add(tab1);

Εδώ, δημιουργούμε μια νέα σελίδα και ένα αντικείμενο πίνακα. Στη συνέχεια προσθέτουμε τον πίνακα στη συλλογή παραγράφων της σελίδας.

Βήμα 7: Ρύθμιση ιδιοτήτων πίνακα

Πριν από την εισαγωγή των δεδομένων, πρέπει να ορίσουμε ορισμένες ιδιότητες του πίνακα, όπως πλάτη στηλών και προεπιλεγμένα περιγράμματα κελιών.

// Ορίστε τα πλάτη των στηλών του πίνακα
tab1.ColumnWidths = "40 100 100";

// Ορίστε το προεπιλεγμένο περίγραμμα κελιών του πίνακα χρησιμοποιώντας το αντικείμενο BorderInfo
tab1.DefaultCellBorder = new Aspose.Pdf.BorderInfo(Aspose.Pdf.BorderSide.All, 0.1F);

Σε αυτό το παράδειγμα, ορίσαμε τα πλάτη στηλών σε 40, 100 και 100 μονάδες. Προσαρμόστε τις τιμές με βάση τα δεδομένα σας. Επίσης, ορίσαμε το προεπιλεγμένο περίγραμμα κελιού να εμφανίζει περιγράμματα σε όλες τις πλευρές κάθε κελιού.

Βήμα 8: Εισαγωγή δεδομένων στον πίνακα

Τώρα, θα εισάγουμε τα δεδομένα από τοDataTable αντικείμενο στον πίνακα χρησιμοποιώντας τοImportDataTable μέθοδος.

// Εισαγάγετε δεδομένα στο αντικείμενο Table από τον DataTable που δημιουργήθηκε παραπάνω
tab1.ImportDataTable(dataTable, true, 0, 0, dataTable.Rows.Count + 1, dataTable.Columns.Count);

Εδώ, καθορίζουμε το εύρος των γραμμών και στηλών προς εισαγωγή. Σε αυτό το παράδειγμα, εισάγουμε όλες τις γραμμές και τις στήλες από τοdataTable αντικείμενο.

Βήμα 9: Μορφοποίηση του πίνακα

Για να βελτιώσουμε την εμφάνιση του πίνακα, μπορούμε να εφαρμόσουμε μορφοποίηση σε συγκεκριμένα κελιά ή σειρές. Σε αυτό το βήμα, θα μορφοποιήσουμε την πρώτη γραμμή και τις εναλλακτικές σειρές του πίνακα.

// Πάρτε την 1η σειρά από τον πίνακα
Aspose.Pdf.Row row1 = tab1.Rows[0];

// Μορφοποιήστε την πρώτη σειρά
foreach(Aspose.Pdf.Cell curCell in row1.Cells)
{
     // Ορίστε το χρώμα φόντου των κελιών στην πρώτη σειρά
     curCell.BackgroundColor = Color.Blue;// Ρυθμίστε το πρόσωπο για τα κελιά στην πρώτη σειρά
     curCell.DefaultCellTextState.Font = Aspose.Pdf.Text.FontRepository.FindFont("Helvetica-Oblique");
    
     // Ορίστε το χρώμα γραμματοσειράς των κελιών στην πρώτη σειρά
     curCell.DefaultCellTextState.ForegroundColor = Color.Yellow;
    
     // Ορίστε τη στοίχιση κειμένου για τα κελιά της πρώτης σειράς
     curCell.DefaultCellTextState.HorizontalAlignment = Aspose.Pdf.HorizontalAlignment.Center;
}

// Εναλλακτική μορφή σειράς
for (int All_Rows = 1; All_Rows <= dataTable.Rows.Count; All_Rows++)
{
     foreach(Aspose.Pdf.Cell curCell in tab1.Rows[All_Rows].Cells)
     {
         // Ορίστε το χρώμα φόντου των κελιών σε εναλλακτικές σειρές
         curCell.BackgroundColor = Color.Gray;
        
         // Ορίστε το χρώμα κειμένου των κελιών σε εναλλακτικές σειρές
         curCell.DefaultCellTextState.ForegroundColor = Color.White;
     }
}

Εδώ, επαναλαμβάνουμε τα κελιά στην πρώτη σειρά και ορίζουμε το χρώμα φόντου, την όψη γραμματοσειράς, το χρώμα γραμματοσειράς και τη στοίχιση κειμένου. Στη συνέχεια, επαναλαμβάνουμε όλα τα κελιά στις εναλλακτικές σειρές και ορίζουμε το φόντο και το χρώμα του κειμένου τους.

Βήμα 10: Αποθήκευση του εγγράφου PDF

Τέλος, αποθηκεύουμε το έγγραφο PDF στην καθορισμένη θέση.

// Αποθηκεύστε το PDF
pdf1.Save(dataDir + @"Exceldata_toPdf_table.pdf");

Βεβαιωθείτε ότι έχετε αντικαταστήσει το “YOUR DOCUMENT DECTORY” με την επιθυμητή διαδρομή καταλόγου και το όνομα αρχείου για το αρχείο PDF εξόδου.

Παράδειγμα πηγαίου κώδικα για Εξαγωγή δεδομένων φύλλου εργασίας Excel σε πίνακα με χρήση Aspose.PDF για .NET

// Η διαδρομή προς τον κατάλογο εγγράφων.
string dataDir = "YOUR DOCUMENT DIRECTORY";

Aspose.Cells.Workbook workbook = new Aspose.Cells.Workbook(new FileStream(dataDir + "newBook1.xlsx", FileMode.Open));
// Πρόσβαση στο πρώτο φύλλο εργασίας στο αρχείο Excel
Aspose.Cells.Worksheet worksheet = workbook.Worksheets[0];
// Εξαγωγή των περιεχομένων 7 σειρών και 2 στηλών ξεκινώντας από το 1ο κελί στον Πίνακα Δεδομένων
DataTable dataTable = worksheet.Cells.ExportDataTable(0, 0, worksheet.Cells.MaxRow + 1, worksheet.Cells.MaxColumn + 1, true);

// Δημιουργία στιγμιότυπου ενός εγγράφου
Aspose.Pdf.Document pdf1 = new Aspose.Pdf.Document();
// Δημιουργήστε μια σελίδα στην παρουσία του εγγράφου
Aspose.Pdf.Page sec1 = pdf1.Pages.Add();

// Δημιουργήστε ένα αντικείμενο πίνακα
Aspose.Pdf.Table tab1 = new Aspose.Pdf.Table();

// Προσθέστε το αντικείμενο Πίνακας στη συλλογή παραγράφων της ενότητας
sec1.Paragraphs.Add(tab1);

// Ορίστε τα πλάτη στηλών του πίνακα. Πρέπει να καθορίσουμε το ColumnCount με μη αυτόματο τρόπο.
// Καθώς το τρέχον φύλλο εργασίας του excel έχει τρεις στήλες, άρα καθορίζουμε το ίδιο πλήθος
tab1.ColumnWidths = "40 100 100";

// Ορίστε το προεπιλεγμένο περίγραμμα κελιών του πίνακα χρησιμοποιώντας το αντικείμενο BorderInfo
tab1.DefaultCellBorder = new Aspose.Pdf.BorderInfo(Aspose.Pdf.BorderSide.All, 0.1F);

// Εισαγάγετε δεδομένα στο αντικείμενο Table από τον DataTable που δημιουργήθηκε παραπάνω
tab1.ImportDataTable(dataTable, true, 0, 0, dataTable.Rows.Count + 1, dataTable.Columns.Count);
// Πάρτε την 1η σειρά από τον πίνακα
Aspose.Pdf.Row row1 = tab1.Rows[0];

// Επαναλάβετε όλα τα κελιά στην 1η σειρά και ορίστε το χρώμα φόντου τους σε μπλε
foreach (Aspose.Pdf.Cell curCell in row1.Cells)
{
	// Ορίστε το φόντο όλων των κελιών στην 1η σειρά του πίνακα.
	curCell.BackgroundColor = Color.Blue;
	// Ορίστε την όψη γραμματοσειράς για τα κελιά της 1ης σειράς στον πίνακα.
	curCell.DefaultCellTextState.Font = Aspose.Pdf.Text.FontRepository.FindFont("Helvetica-Oblique");
	// Ορίστε τη γραμματοσειρά Χρώμα όλων των κελιών στην 1η σειρά του πίνακα.
	curCell.DefaultCellTextState.ForegroundColor = Color.Yellow;
	// Ορίστε τη στοίχιση κειμένου για τα κελιά της 1ης σειράς ως Κέντρο.
	curCell.DefaultCellTextState.HorizontalAlignment = Aspose.Pdf.HorizontalAlignment.Center;
}

for (int All_Rows = 1; All_Rows <= dataTable.Rows.Count; All_Rows++)
{
	// Επαναλάβετε όλα τα κελιά στην 1η σειρά και ορίστε το χρώμα φόντου τους σε μπλε
	foreach (Aspose.Pdf.Cell curCell in tab1.Rows[All_Rows].Cells)
	{
		// Ορίστε το χρώμα φόντου όλων των κελιών εκτός από την 1η σειρά.
		curCell.BackgroundColor = Color.Gray;
		// Ορίστε το χρώμα κειμένου σε όλα τα κελιά εκτός από την 1η σειρά.
		curCell.DefaultCellTextState.ForegroundColor = Color.White;
	}
}

// Αποθηκεύστε το Pdf
pdf1.Save(dataDir + @"Exceldata_toPdf_table.pdf");

συμπέρασμα

Σε αυτό το σεμινάριο, μάθαμε πώς να εξάγουμε δεδομένα από ένα φύλλο εργασίας του Excel σε έναν πίνακα PDF χρησιμοποιώντας τη βιβλιοθήκη Aspose.PDF για .NET. Καλύψαμε τη διαδικασία βήμα προς βήμα φόρτωσης του φύλλου εργασίας του Excel, δημιουργίας εγγράφου PDF, προσθήκης πίνακα, εισαγωγής δεδομένων και μορφοποίησης του πίνακα. Τώρα μπορείτε να δημιουργήσετε αρχεία PDF με πίνακες που περιέχουν δεδομένα Excel μέσω προγραμματισμού.

Συχνές ερωτήσεις

Ε: Ποιος είναι ο σκοπός της εξαγωγής δεδομένων φύλλου εργασίας του Excel σε έναν πίνακα PDF;

Α: Η εξαγωγή δεδομένων φύλλου εργασίας του Excel σε πίνακα PDF σάς επιτρέπει να παρουσιάζετε τα δεδομένα σε δομημένη και οργανωμένη μορφή. Σας δίνει τη δυνατότητα να δημιουργείτε αρχεία PDF με πίνακες που περιέχουν δεδομένα από φύλλα εργασίας του Excel, διευκολύνοντας την κοινή χρήση και τη διατήρηση πληροφοριών σε φορητή μορφή εγγράφου.

Ε: Μπορώ να προσαρμόσω την εμφάνιση του πίνακα PDF;

Α: Ναι, μπορείτε να προσαρμόσετε την εμφάνιση του πίνακα PDF χρησιμοποιώντας διάφορες ιδιότητες που παρέχονται από το Aspose.PDF για .NET. Στον παρεχόμενο πηγαίο κώδικα C#, μπορείτε να τροποποιήσετε τα πλάτη στηλών, τα περιγράμματα κελιών, τη στοίχιση κειμένου, το στυλ γραμματοσειράς και πολλά άλλα για να ταιριάζουν στις συγκεκριμένες απαιτήσεις σας.

Ε: Πώς χειρίζομαι αρχεία Excel με πολλά φύλλα εργασίας;

Α: Στον παρεχόμενο κώδικα C#, αποκτήσαμε πρόσβαση στο πρώτο φύλλο εργασίας στο αρχείο Excel χρησιμοποιώντας το ευρετήριο[0] . Εάν το αρχείο σας Excel περιέχει πολλά φύλλα εργασίας, μπορείτε να αποκτήσετε πρόσβαση σε αυτά αλλάζοντας ανάλογα την τιμή του ευρετηρίου, όπως π.χ[1] για το δεύτερο φύλλο εργασίας ή[2] για το τρίτο φύλλο εργασίας.

Ε: Μπορώ να εφαρμόσω διαφορετική μορφοποίηση σε συγκεκριμένες σειρές ή κελιά στον πίνακα PDF;

Α: Ναι, μπορείτε να εφαρμόσετε διαφορετική μορφοποίηση σε συγκεκριμένες σειρές ή κελιά στον πίνακα PDF. Στον παρεχόμενο πηγαίο κώδικα C#, δείξαμε πώς να μορφοποιούμε την πρώτη σειρά και τις εναλλακτικές σειρές διαφορετικά αλλάζοντας το χρώμα φόντου, το στυλ γραμματοσειράς και το χρώμα γραμματοσειράς τους. Μπορείτε να εφαρμόσετε παρόμοιες τεχνικές μορφοποίησης σε οποιεσδήποτε συγκεκριμένες γραμμές ή κελιά, όπως απαιτείται.

Ε: Είναι το Aspose.PDF για .NET η μόνη βιβλιοθήκη που επιτρέπει την εξαγωγή δεδομένων Excel σε πίνακα PDF;

A: Το Aspose.PDF για .NET είναι μια ισχυρή βιβλιοθήκη για εργασία με έγγραφα PDF σε εφαρμογές .NET. Ενώ ενδέχεται να υπάρχουν άλλες διαθέσιμες βιβλιοθήκες, το Aspose.PDF για .NET προσφέρει ένα ευρύ φάσμα δυνατοτήτων και δυνατοτήτων για τη δημιουργία, το χειρισμό και την εξαγωγή αρχείων PDF με πίνακες από δεδομένα Excel, καθιστώντας το μια δημοφιλή επιλογή για τέτοιες εργασίες.