Αποθήκευση βιβλίου εργασίας σε μορφή κειμένου CSV
Εισαγωγή
Όταν ασχολείστε με δεδομένα, η μορφή που επιλέγετε μπορεί πραγματικά να καθορίσει πόσο εύκολα μπορείτε να εργαστείτε με αυτά. Μεταξύ των πιο κοινών μορφών για το χειρισμό δεδομένων σε πίνακα είναι το CSV (Τιμές διαχωρισμένες με κόμμα). Εάν είστε προγραμματιστής που εργάζεστε με αρχεία Excel και πρέπει να μετατρέψετε βιβλία εργασίας σε μορφή CSV, το Aspose.Cells για .NET είναι μια φανταστική βιβλιοθήκη που απλοποιεί αυτήν την εργασία. Σε αυτό το σεμινάριο, θα αναλύσουμε τα βήματα για τη μετατροπή ενός βιβλίου εργασίας του Excel σε μορφή κειμένου CSV χωρίς προβλήματα.
Προαπαιτούμενα
Πριν βουτήξουμε, ας βεβαιωθούμε ότι έχετε τα πάντα στη θέση τους για να ξεκινήσετε:
- Βασικές γνώσεις C# και .NET: Εφόσον θα γράφουμε κώδικα σε C#, η εξοικείωση με τη γλώσσα και το πλαίσιο .NET είναι απαραίτητη.
- Aspose.Cells Library: Βεβαιωθείτε ότι έχετε εγκαταστήσει τη βιβλιοθήκη Aspose.Cells για .NET στο περιβάλλον ανάπτυξης σας. Μπορείτε να το κατεβάσετεεδώ.
- Visual Studio ή οποιοδήποτε C# IDE: Θα χρειαστείτε ένα ολοκληρωμένο περιβάλλον ανάπτυξης (IDE) για να γράψετε και να εκτελέσετε τον κώδικά σας. Το Visual Studio είναι μια δημοφιλής επιλογή.
- Βιβλίο εργασίας του Excel: Προετοιμάστε ένα δείγμα βιβλίου εργασίας του Excel (π.χ. “book1.xls”) που περιέχει ορισμένα δεδομένα για να ελέγξετε τη μετατροπή.
Εισαγωγή πακέτων
Τώρα που έχουμε καλύψει τις προϋποθέσεις μας, το πρώτο βήμα στη διαδικασία είναι να εισάγουμε τα απαραίτητα πακέτα. Στο έργο σας C#, πρέπει να συμπεριλάβετε τον ακόλουθο χώρο ονομάτων στην κορυφή του αρχείου κώδικα:
using System.IO;
using Aspose.Cells;
using System;
Αυτοί οι χώροι ονομάτων θα σας δώσουν πρόσβαση στις κλάσεις και τις μεθόδους που απαιτούνται για την εργασία με αρχεία Excel και τη διαχείριση ροών μνήμης.
Βήμα 1: Καθορίστε τη διαδρομή προς τον Κατάλογο εγγράφων
Το πρώτο βήμα στη διαδικασία μας είναι να ορίσουμε πού αποθηκεύονται τα έγγραφά μας (βιβλία εργασίας του Excel). Αυτό είναι απαραίτητο καθώς επιτρέπει στο πρόγραμμά μας να γνωρίζει πού θα βρει τα αρχεία που χρειάζεται να επεξεργαστεί.
// Η διαδρομή προς τον κατάλογο εγγράφων.
string dataDir = "Your Document Directory";
Φροντίστε να αντικαταστήσετε"Your Document Directory"
με την πραγματική διαδρομή όπου βρίσκεται το αρχείο “book1.xls”. Αυτό μπορεί να είναι ένας κατάλογος στον υπολογιστή σας ή μια διαδρομή προς έναν διακομιστή.
Βήμα 2: Φορτώστε το βιβλίο εργασίας της πηγής σας
Στη συνέχεια, πρέπει να φορτώσουμε το βιβλίο εργασίας του Excel που θα μετατραπεί σε μορφή CSV.
// Φορτώστε το βιβλίο εργασίας προέλευσης
Workbook workbook = new Workbook(dataDir + "book1.xls");
ΟWorkbook
κλάση από τη βιβλιοθήκη Aspose.Cells επιτρέπει τον χειρισμό και την πρόσβαση σε βιβλία εργασίας του Excel. Περνώντας τη διαδρομή του αρχείου, φορτώνουμε το καθορισμένο βιβλίο εργασίας για επεξεργασία.
Βήμα 3: Αρχικοποιήστε έναν πίνακα Byte για δεδομένα βιβλίου εργασίας
Προτού ξεκινήσουμε τη μετατροπή του βιβλίου εργασίας σε CSV, πρέπει να αρχικοποιήσουμε έναν κενό πίνακα byte που θα κρατήσει τελικά όλα τα δεδομένα του φύλλου εργασίας.
// Συστοιχία 0 byte
byte[] workbookData = new byte[0];
Αυτός ο πίνακας byte θα συνδυάσει τα δεδομένα από κάθε φύλλο εργασίας σε μια ενιαία δομή που μπορούμε να γράψουμε σε ένα αρχείο αργότερα.
Βήμα 4: Ρύθμιση επιλογών αποθήκευσης κειμένου
Τώρα, ας ρυθμίσουμε τις επιλογές για το πώς θέλουμε να αποθηκεύσουμε τη μορφή κειμένου. Μπορείτε να επιλέξετε προσαρμοσμένους οριοθέτες ή να κολλήσετε με καρτέλες.
// Επιλογές αποθήκευσης κειμένου. Μπορείτε να χρησιμοποιήσετε οποιοδήποτε τύπο διαχωριστή
TxtSaveOptions opts = new TxtSaveOptions();
opts.Separator = '\t'; // Ρύθμιση καρτέλας ως διαχωριστικό
Σε αυτό το παράδειγμα, χρησιμοποιούμε έναν χαρακτήρα καρτέλας ως διαχωριστικό. Μπορείτε να αντικαταστήσετε'\t'
με όποιο χαρακτήρα θέλετε, σαν κόμμα (,
), ανάλογα με το πώς θέλετε να μορφοποιηθεί το CSV σας.
Βήμα 5: Επανάληψη μέσω κάθε φύλλου εργασίας
Στη συνέχεια, θα επαναλάβουμε όλα τα φύλλα εργασίας μέσα στο βιβλίο εργασίας, αποθηκεύοντας το καθένα στο δικό μαςworkbookData
πίνακα, αλλά πρέπει πρώτα να επιλέξετε σε ποιο φύλλο εργασίας θα εργαστείτε.
// Αντιγράψτε τα δεδομένα κάθε φύλλου εργασίας σε μορφή κειμένου μέσα στον πίνακα δεδομένων του βιβλίου εργασίας
for (int idx = 0; idx < workbook.Worksheets.Count; idx++)
{
// Αποθηκεύστε το ενεργό φύλλο εργασίας σε μορφή κειμένου
MemoryStream ms = new MemoryStream();
workbook.Worksheets.ActiveSheetIndex = idx;
workbook.Save(ms, opts);
Ο βρόχος διατρέχει κάθε φύλλο εργασίας στο βιβλίο εργασίας.ActiveSheetIndex
έχει ρυθμιστεί έτσι ώστε κάθε φορά μέσω του βρόχου, να αποθηκεύουμε το τρέχον φύλλο εργασίας. Τα αποτελέσματα θα αποθηκευτούν στη μνήμη χρησιμοποιώντας αMemoryStream
.
Βήμα 6: Ανάκτηση δεδομένων φύλλου εργασίας
Αφού αποθηκεύσετε ένα φύλλο εργασίας στη ροή μνήμης, το επόμενο βήμα είναι να ανακτήσετε αυτά τα δεδομένα και να τα προσαρτήσετε στοworkbookData
παράταξη.
// Αποθηκεύστε τα δεδομένα του φύλλου εργασίας στον πίνακα δεδομένων φύλλων
ms.Position = 0; // Επαναφορά θέσης ροής μνήμης
byte[] sheetData = ms.ToArray(); // Λάβετε τον πίνακα byte
ms.Position = 0;
επαναφέρει τη θέση για ανάγνωση μετά τη γραφή. Στη συνέχεια, χρησιμοποιούμεToArray()
για να μετατρέψετε τη ροή μνήμης σε πίνακα byte που διατηρεί τα δεδομένα του φύλλου εργασίας.
Βήμα 7: Συνδυάστε δεδομένα φύλλου εργασίας
Τώρα, θα συνδυάσουμε τα δεδομένα από κάθε φύλλο εργασίας στο singleworkbookData
πίνακας αρχικοποιήθηκε νωρίτερα.
// Συνδυάστε αυτά τα δεδομένα φύλλου εργασίας σε πίνακα δεδομένων βιβλίου εργασίας
byte[] combinedArray = new byte[workbookData.Length + sheetData.Length];
Array.Copy(workbookData, 0, combinedArray, 0, workbookData.Length);
Array.Copy(sheetData, 0, combinedArray, workbookData.Length, sheetData.Length);
workbookData = combinedArray;
}
Δημιουργούμε έναν νέο πίνακα που είναι αρκετά μεγάλος ώστε να χωράει τόσο υπάρχοντα δεδομένα βιβλίου εργασίας όσο και νέα δεδομένα φύλλου εργασίας. Στη συνέχεια αντιγράφουμε τα υπάρχοντα και τα νέα δεδομένα σε αυτόν τον συνδυασμένο πίνακα για μελλοντική χρήση.
Βήμα 8: Αποθηκεύστε ολόκληρα τα δεδομένα του βιβλίου εργασίας στο αρχείο
Τέλος, με όλα τα δεδομένα συνδυασμένα στο δικό μαςworkbookData
πίνακα, μπορούμε να αποθηκεύσουμε αυτόν τον πίνακα σε μια καθορισμένη διαδρομή αρχείου.
//Αποθηκεύστε ολόκληρα τα δεδομένα του βιβλίου εργασίας στο αρχείο
File.WriteAllBytes(dataDir + "out.txt", workbookData);
WriteAllBytes
παίρνει τον συνδυασμένο πίνακα byte και τον γράφει σε ένα αρχείο κειμένου με το όνομα “out.txt” στον καθορισμένο κατάλογο.
Σύναψη
Και ορίστε το! Μετατρέψατε με επιτυχία ένα βιβλίο εργασίας του Excel σε μορφή CSV χρησιμοποιώντας το Aspose.Cells για .NET. Αυτή η διαδικασία όχι μόνο είναι αποτελεσματική, αλλά επιτρέπει τον εύκολο χειρισμό των δεδομένων του Excel για περαιτέρω ανάλυση ή αναφορά. Τώρα μπορείτε να αυτοματοποιήσετε τις εργασίες επεξεργασίας δεδομένων σας ή ακόμα και να ενσωματώσετε αυτή τη λειτουργία σε μεγαλύτερες εφαρμογές.
Συχνές ερωτήσεις
Μπορώ να χρησιμοποιήσω διαφορετικούς οριοθέτες για το αρχείο CSV;
Ναι, μπορείτε να αλλάξετε τοopts.Separator
σε όποιον χαρακτήρα θέλετε, όπως κόμματα ή σωλήνες.
Είναι το Aspose.Cells δωρεάν για χρήση;
Το Aspose.Cells δεν είναι δωρεάν, αλλά μπορείτε να λάβετε μια δωρεάν δοκιμήεδώ.
Σε ποιους τύπους μορφών μπορώ να αποθηκεύσω εκτός από το CSV;
Το Aspose.Cells επιτρέπει την αποθήκευση σε πολλές μορφές, όπως XLSX, PDF και άλλα.
Μπορώ να επεξεργαστώ μεγάλα αρχεία Excel χρησιμοποιώντας το Aspose.Cells;
Ναι, το Aspose.Cells έχει σχεδιαστεί για να χειρίζεται μεγάλα αρχεία αποτελεσματικά, αλλά η απόδοση μπορεί να εξαρτάται από τους πόρους του συστήματος.
Πού μπορώ να βρω πιο αναλυτική τεκμηρίωση;
Μπορείτε να βρείτε ολοκληρωμένη τεκμηρίωση και παραδείγματατοποθεσία αναφοράς.