Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk Membaca dan Memanipulasi Data Excel dengan Cekap Menggunakan C#?

Bagaimana untuk Membaca dan Memanipulasi Data Excel dengan Cekap Menggunakan C#?

Mary-Kate Olsen
Lepaskan: 2025-01-11 16:42:44
asal
344 orang telah melayarinya

How to Efficiently Read and Manipulate Excel Data Using 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>
Salin selepas log masuk

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan