Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Membaca dan Memanipulasi Data Excel dengan Cekap Menggunakan C#?
Data C# dan Excel: Panduan Praktikal
Artikel ini memperincikan kaedah yang berkesan untuk membaca dan memanipulasi data Excel menggunakan C#. Contoh yang diberikan menggambarkan membuka fail Excel, menyalin kandungannya dan mencari alamat e-mel. Walau bagaimanapun, mengakses dan memproses nilai sel secara langsung memerlukan pemahaman struktur data unik Excel.
Struktur Data Excel: Julat Dinamakan
Tidak seperti tatasusunan biasa, Excel menggunakan julat bernama untuk menyimpan data. Mengakses sel tertentu memerlukan merujuk nama julatnya (cth., "A1" untuk sel kiri atas).
Memanfaatkan Range
Objek
Objek C# Excel.Range
mewakili sel atau sekumpulan sel dalam lembaran kerja Excel. Kaedah get_Range
objek Excel.Worksheet
mendapatkan semula objek Range
tertentu. Contohnya:
<code class="language-csharp">Excel.Range range = worksheet.get_Range("A1", Missing.Value);</code>
Mengakses Nilai Sel: Text
lwn. Value2
Harta Text
mengembalikan teks yang boleh dilihat pengguna, manakala Value2
memberikan nilai asas (tanpa pemformatan atau pembundaran):
<code class="language-csharp">string userVisibleText = range.Text; string rawValue = range.Value2;</code>
Lelaran Melalui Julat Sel
Gelung foreach
bergerak dengan cekap melalui pelbagai sel:
<code class="language-csharp">foreach (Excel.Range cell in range1) { string text = cell.Text; string value = cell.Value2; }</code>
Pengurusan Sumber: Pembersihan yang Betul
Untuk pengurusan sumber yang cekap, lepaskan objek Excel dalam susunan terbalik penciptaan. Memandangkan Excel.Application
dan Excel.Workbook
tidak melaksanakan IDisposable
, gunakan fungsi keluaran tersuai (seperti ReleaseRCM
dalam contoh):
<code class="language-csharp">if (wkb != null) ExcelTools.OfficeUtil.ReleaseRCM(wkb); if (excel != null) ExcelTools.OfficeUtil.ReleaseRCM(excel);</code>
Contoh Kod Lengkap
Kod C# ini menunjukkan akses dan memaparkan nilai sel A1:
<code class="language-csharp">using System; using ExcelTools = Ms.Office; using Excel = Microsoft.Office.Interop.Excel; namespace ExcelDemo { class Program { static void Main(string[] args) { string filePath = @"C:\Users\Chris\Desktop\TestSheet.xls"; Console.WriteLine(filePath); Excel.Application excelApp = null; Excel.Workbook workbook = null; try { excelApp = new Excel.Application(); workbook = ExcelTools.OfficeUtil.OpenBook(excelApp, filePath, false, false, true); Excel.Worksheet sheet = workbook.Sheets["Data"] as Excel.Worksheet; if (sheet != null) { Excel.Range cell = sheet.get_Range("A1", Missing.Value); string a1Value = cell != null ? cell.Text.ToString() : ""; Console.WriteLine("A1 value: {0}", a1Value); } } catch (Exception ex) { Console.WriteLine(ex.Message); } finally { if (workbook != null) ExcelTools.OfficeUtil.ReleaseRCM(workbook); if (excelApp != null) ExcelTools.OfficeUtil.ReleaseRCM(excelApp); } } } }</code>
Kesimpulan
Berjaya bekerja dengan data Excel dalam C# bergantung pada pemahaman struktur berasaskan julat Excel. Menggunakan objek Excel.Range
dan sifatnya, bersama-sama pengurusan sumber yang teliti, membolehkan akses dan manipulasi data yang cekap dan boleh dipercayai.
Atas ialah kandungan terperinci Bagaimana untuk Membaca dan Memanipulasi Data Excel dengan Cekap Menggunakan C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!