Simpan Buku Kerja ke Format Teks CSV
Perkenalan
Saat menangani data, format yang Anda pilih benar-benar dapat menentukan seberapa mudah Anda dapat mengolahnya. Salah satu format yang paling umum untuk menangani data tabular adalah CSV (Comma-Separated Values). Jika Anda seorang pengembang yang bekerja dengan file Excel dan perlu mengonversi buku kerja ke dalam format CSV, Aspose.Cells for .NET adalah pustaka fantastis yang menyederhanakan tugas ini. Dalam tutorial ini, kami akan menguraikan langkah-langkah untuk mengonversi buku kerja Excel ke format teks CSV dengan mudah.
Prasyarat
Sebelum kita mulai, mari pastikan Anda telah menyiapkan semua hal untuk memulai:
- Pengetahuan Dasar C# dan .NET: Karena kita akan menulis kode dalam C#, pemahaman terhadap bahasa dan kerangka kerja .NET sangatlah penting.
- Pustaka Aspose.Cells: Pastikan Anda telah memasang pustaka Aspose.Cells for .NET di lingkungan pengembangan Anda. Anda dapat mengunduhnyaDi Sini.
- Visual Studio atau IDE C# apa pun: Anda memerlukan lingkungan pengembangan terintegrasi (IDE) untuk menulis dan menjalankan kode Anda. Visual Studio merupakan pilihan yang populer.
- Buku Kerja Excel: Siapkan contoh buku kerja Excel (misalnya, “book1.xls”) yang berisi beberapa data untuk menguji konversi.
Paket Impor
Setelah prasyarat terpenuhi, langkah pertama dalam proses ini adalah mengimpor paket yang diperlukan. Dalam proyek C#, Anda perlu menyertakan namespace berikut di bagian atas berkas kode:
using System.IO;
using Aspose.Cells;
using System;
Ruang nama ini akan memberi Anda akses ke kelas dan metode yang diperlukan untuk bekerja dengan file Excel dan mengelola aliran memori.
Langkah 1: Tentukan Jalur ke Direktori Dokumen
Langkah pertama dalam proses kami adalah menentukan tempat penyimpanan dokumen (buku kerja Excel). Hal ini penting karena memungkinkan program kami mengetahui tempat menemukan berkas yang perlu diproses.
// Jalur ke direktori dokumen.
string dataDir = "Your Document Directory";
Pastikan untuk mengganti"Your Document Directory"
dengan jalur sebenarnya tempat file “book1.xls” Anda berada. Ini bisa berupa direktori di komputer Anda atau jalur ke server.
Langkah 2: Muat Buku Kerja Sumber Anda
Berikutnya, kita perlu memuat buku kerja Excel yang akan dikonversi ke format CSV.
// Muat buku kerja sumber Anda
Workbook workbook = new Workbook(dataDir + "book1.xls");
ItuWorkbook
kelas dari pustaka Aspose.Cells memungkinkan manipulasi dan akses ke buku kerja Excel. Dengan meneruskan jalur file, kita memuat buku kerja yang ditentukan untuk diproses.
Langkah 3: Inisialisasi Array Byte untuk Data Buku Kerja
Sebelum kita mulai mengonversi buku kerja ke CSV, kita perlu menginisialisasi array byte kosong yang nantinya akan menampung semua data lembar kerja.
// susunan 0-byte
byte[] workbookData = new byte[0];
Susunan byte ini akan menggabungkan data dari setiap lembar kerja menjadi satu struktur tunggal yang dapat kita tulis ke dalam berkas nantinya.
Langkah 4: Siapkan Opsi Penyimpanan Teks
Sekarang, mari kita atur opsi untuk menyimpan format teks. Anda dapat memilih pembatas khusus atau tetap menggunakan tab.
// Opsi penyimpanan teks. Anda dapat menggunakan jenis pemisah apa pun
TxtSaveOptions opts = new TxtSaveOptions();
opts.Separator = '\t'; // Mengatur tab sebagai pemisah
Dalam contoh ini, kami menggunakan karakter tab sebagai pemisah. Anda dapat mengganti'\t'
dengan karakter apa pun yang Anda inginkan, seperti koma (,
), tergantung pada bagaimana Anda ingin CSV diformat.
Langkah 5: Ulangi Setiap Lembar Kerja
Selanjutnya, kita akan mengulangi semua lembar kerja dalam buku kerja, menyimpan masing-masing ke dalamworkbookData
array, tetapi Anda harus terlebih dahulu memilih lembar kerja mana yang akan dikerjakan.
// Salin setiap data lembar kerja dalam format teks di dalam array data buku kerja
for (int idx = 0; idx < workbook.Worksheets.Count; idx++)
{
// Simpan lembar kerja aktif ke dalam format teks
MemoryStream ms = new MemoryStream();
workbook.Worksheets.ActiveSheetIndex = idx;
workbook.Save(ms, opts);
Perulangan berjalan melalui setiap lembar kerja dalam buku kerja.ActiveSheetIndex
diatur sehingga setiap kali melalui loop, kita menyimpan lembar kerja saat ini. Hasilnya akan disimpan ke dalam memori menggunakanMemoryStream
.
Langkah 6: Ambil Data Lembar Kerja
Setelah menyimpan lembar kerja ke aliran memori, langkah selanjutnya adalah mengambil data ini dan menambahkannya keworkbookData
susunan.
// Simpan data lembar kerja ke dalam array data lembar
ms.Position = 0; // Setel ulang posisi aliran memori
byte[] sheetData = ms.ToArray(); // Dapatkan array byte
ms.Position = 0;
mengatur ulang posisi untuk membaca setelah menulis. Kemudian, kita menggunakanToArray()
untuk mengubah aliran memori menjadi array byte yang menampung data lembar kerja.
Langkah 7: Gabungkan Data Lembar Kerja
Sekarang, kita akan menggabungkan data dari setiap lembar kerja menjadi satuworkbookData
array diinisialisasi sebelumnya.
// Gabungkan data lembar kerja ini ke dalam array data buku kerja
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;
}
Kami membuat array baru yang cukup besar untuk menampung data buku kerja yang ada dan data lembar kerja yang baru. Kemudian kami menyalin data yang ada dan yang baru ke dalam array gabungan ini untuk penggunaan selanjutnya.
Langkah 8: Simpan Seluruh Data Buku Kerja ke dalam File
Akhirnya, dengan semua data yang digabungkan dalamworkbookData
array, kita dapat menyimpan array ini ke jalur file yang ditentukan.
//Simpan seluruh data buku kerja ke dalam file
File.WriteAllBytes(dataDir + "out.txt", workbookData);
WriteAllBytes
mengambil array byte gabungan dan menuliskannya ke dalam file teks bernama “out.txt” di direktori yang ditentukan.
Kesimpulan
Nah, itu dia! Anda telah berhasil mengonversi buku kerja Excel ke format CSV menggunakan Aspose.Cells for .NET. Proses ini tidak hanya efisien, tetapi juga memungkinkan manipulasi data Excel dengan mudah untuk analisis atau pelaporan lebih lanjut. Sekarang Anda dapat mengotomatiskan tugas pemrosesan data atau bahkan mengintegrasikan fungsionalitas ini ke dalam aplikasi yang lebih besar.
Pertanyaan yang Sering Diajukan
Dapatkah saya menggunakan pembatas yang berbeda untuk file CSV?
Ya, Anda dapat mengubahnyaopts.Separator
ke karakter apa pun yang Anda inginkan, seperti koma atau tanda pipa.
Apakah Aspose.Cells gratis untuk digunakan?
Aspose.Cells tidak gratis, tetapi Anda bisa mendapatkan uji coba gratisDi Sini.
Jenis format apa saja yang dapat saya simpan selain CSV?
Aspose.Cells memungkinkan penyimpanan ke berbagai format termasuk XLSX, PDF, dan banyak lagi.
Bisakah saya memproses file Excel berukuran besar menggunakan Aspose.Cells?
Ya, Aspose.Cells dirancang untuk menangani file besar secara efisien, tetapi kinerjanya mungkin bergantung pada sumber daya sistem.
Di mana saya dapat menemukan dokumentasi yang lebih rinci?
Anda dapat menemukan dokumentasi dan contoh yang lengkap disitus referensi.