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!