Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Membaca Data dan Cari Format E-mel Khusus dalam Fail Excel Menggunakan C#?

Bagaimana untuk Membaca Data dan Cari Format E-mel Khusus dalam Fail Excel Menggunakan C#?

Susan Sarandon
Susan Sarandonasal
2025-01-11 16:22:46866semak imbas

How to Read Data and Find Specific Email Formats in Excel Files Using C#?

Mengekstrak dan Mengesahkan Alamat E-mel daripada Excel dengan C#

Panduan ini menunjukkan cara membaca data daripada fail Excel menggunakan C#, memfokuskan pada mengekstrak dan mengesahkan alamat e-mel dengan cekap. Proses ini melibatkan membuka fail Excel, mengulangi sel untuk mencari alamat e-mel dan mengesahkan formatnya.

Mengakses Fail Excel:

Coretan kod yang disediakan menggunakan Excel.Workbooks.Open untuk membuka fail Excel. Untuk prestasi optimum dan pengurusan sumber, pastikan anda menentukan akses baca sahaja dan mengendalikan kemungkinan ralat:

<code class="language-csharp">string filePath = s.Text; // Replace 's.Text' with your file path.
try
{
    Excel.Workbook workbook = ExcelObj.Workbooks.Open(filePath, ReadOnly: true, UpdateLinks: false);
    // ... further processing ...
}
catch (Exception ex)
{
    // Handle exceptions, such as file not found or access denied.
    Console.WriteLine($"Error opening Excel file: {ex.Message}");
}</code>

Mencari dan Mengekstrak Alamat E-mel:

Untuk mengesan alamat e-mel dengan cekap, ulang melalui UsedRange setiap lembaran kerja. Ungkapan biasa menyediakan cara yang mantap untuk mengesahkan format e-mel:

<code class="language-csharp">using System.Text.RegularExpressions;

// ... (previous code) ...

foreach (Excel.Worksheet worksheet in workbook.Worksheets)
{
    foreach (Excel.Range cell in worksheet.UsedRange)
    {
        string cellValue = cell.Value2?.ToString();
        if (!string.IsNullOrEmpty(cellValue))
        {
            // Regular expression for email validation (adjust as needed)
            string emailRegex = @"\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b";
            Match match = Regex.Match(cellValue, emailRegex);
            if (match.Success)
            {
                string emailAddress = match.Value;
                // Process the validated email address
                Console.WriteLine($"Found email: {emailAddress}");
            }
        }
    }
}

// ... (rest of the code) ...</code>

Pengendalian dan Pembersihan Data yang Cekap:

Sifat Value2 menyediakan nilai sel mentah, mengelakkan potensi isu pemformatan. Ingat untuk membuang objek Excel dengan betul untuk mengelakkan kebocoran sumber:

<code class="language-csharp">// ... (previous code) ...

workbook.Close(SaveChanges: false); // Close without saving changes.
ExcelObj.Quit();
System.Runtime.InteropServices.Marshal.ReleaseComObject(workbook);
System.Runtime.InteropServices.Marshal.ReleaseComObject(ExcelObj);
workbook = null;
ExcelObj = null;
GC.Collect(); // Force garbage collection.</code>

Pendekatan Alternatif:

Walaupun kaedah ini menggunakan objek Excel COM, pertimbangkan alternatif seperti EPPlus atau ClosedXML untuk prestasi yang lebih baik dan mengurangkan kebergantungan, terutamanya apabila berurusan dengan fail besar. Perpustakaan ini menawarkan pendekatan yang lebih terurus untuk manipulasi Excel.

Pendekatan yang diperhalusi ini menggabungkan pengekstrakan data yang cekap dengan pengesahan e-mel yang mantap dan pengurusan sumber yang betul, menjadikannya penyelesaian yang lebih dipercayai dan berskala. Ingat untuk melaraskan ungkapan biasa agar sepadan dengan keperluan alamat e-mel khusus anda.

Atas ialah kandungan terperinci Bagaimana untuk Membaca Data dan Cari Format E-mel Khusus dalam 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