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

Bagaimana untuk Membaca Data dengan Cekap dari Fail Excel Menggunakan C#?

Susan Sarandon
Susan Sarandonasal
2025-01-11 16:37:41903semak imbas

How to Efficiently Read Data from Excel Files Using C#?

Menguasai Pengekstrakan Data Excel dengan C#

Mengendalikan fail Excel dalam C# dengan cekap memerlukan pemahaman yang jelas tentang julat yang dinamakan. Daripada bergantung pada pengindeksan tatasusunan, manfaatkan kaedah get_Range() untuk pemilihan sel yang tepat.

Contohnya, untuk mengakses sel A1:

<code class="language-csharp">Excel.Worksheet sheet = workbook.Sheets["Sheet1"] as Excel.Worksheet;
Excel.Range range = sheet.get_Range("A1", Missing.Value);</code>

range kini mewakili sel A1. Akses kandungannya menggunakan:

  • range.Text: Memaparkan teks terformat sel.
  • range.Value2: Mendapatkan semula nilai sel asas (tidak berformat).

Mengulang melalui julat sel:

<code class="language-csharp">Excel.Range range = sheet.get_Range("A1:A5", Missing.Value);

if (range != null)
{
    foreach (Excel.Range r in range)
    {
        string userText = r.Text;
        object cellValue = r.Value2; //Note: object type for flexibility
    }
}</code>

Yang penting, gunakan Value2 dan bukannya Value untuk mengelakkan kemungkinan pengehadan C#.

Pembersihan Penting

Cegah kebocoran memori dengan melepaskan objek COM selepas digunakan:

<code class="language-csharp">if (wkb != null)
    ExcelTools.OfficeUtil.ReleaseRCM(wkb);

if (excel != null)
    ExcelTools.OfficeUtil.ReleaseRCM(excel);</code>

ReleaseRCM ialah fungsi tersuai untuk mengeluarkan sumber COM.

Snippet Kod Ilustrasi

<code class="language-csharp">using ExcelTools = Ms.Office; // Assuming a custom namespace
using Excel = Microsoft.Office.Interop.Excel;

...

Excel.Workbook wkb = ExcelTools.OfficeUtil.OpenBook(excel, file);

...

Excel.Worksheet sheet = wkb.Sheets["Data"] as Excel.Worksheet;

Excel.Range range = sheet.get_Range("A1", Missing.Value);

string cellA1Text = range.Text.ToString();

...</code>

Pertimbangan Utama

  • Sembunyikan aplikasi Excel semasa pemprosesan dengan menetapkan keterlihatan objek kepada false.
  • Teroka OleDb sebagai alternatif yang berdaya maju untuk akses data Excel.
  • Contoh ini menggunakan Type.Missing C# untuk parameter pilihan.

Pendekatan yang dipertingkatkan ini memastikan pengendalian data Excel yang cekap dan boleh dipercayai dalam aplikasi C# anda.

Atas ialah kandungan terperinci Bagaimana untuk Membaca Data dengan Cekap dari Fail Excel Menggunakan C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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