Heim > Backend-Entwicklung > C++ > Wie lese ich mit C# Daten und finde bestimmte E-Mail-Formate in Excel-Dateien?

Wie lese ich mit C# Daten und finde bestimmte E-Mail-Formate in Excel-Dateien?

Susan Sarandon
Freigeben: 2025-01-11 16:22:46
Original
813 Leute haben es durchsucht

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

E-Mail-Adressen aus Excel mit C# extrahieren und validieren

Diese Anleitung zeigt, wie man Daten aus Excel-Dateien mit C# liest, wobei der Schwerpunkt auf der effizienten Extraktion und Validierung von E-Mail-Adressen liegt. Der Prozess umfasst das Öffnen der Excel-Datei, das Durchlaufen der Zellen, um E-Mail-Adressen zu finden, und die Überprüfung ihres Formats.

Zugriff auf die Excel-Datei:

Das bereitgestellte Code-Snippet verwendet Excel.Workbooks.Open, um die Excel-Datei zu öffnen. Stellen Sie für eine optimale Leistung und Ressourcenverwaltung sicher, dass Sie schreibgeschützten Zugriff festlegen und potenzielle Fehler behandeln:

<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>
Nach dem Login kopieren

E-Mail-Adressen suchen und extrahieren:

Um E-Mail-Adressen effizient zu finden, durchlaufen Sie die UsedRange jedes Arbeitsblatts. Reguläre Ausdrücke bieten eine robuste Möglichkeit, E-Mail-Formate zu validieren:

<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>
Nach dem Login kopieren

Effiziente Datenverarbeitung und -bereinigung:

Die Eigenschaft Value2 stellt den Rohzellenwert bereit und vermeidet so potenzielle Formatierungsprobleme. Denken Sie daran, Excel-Objekte ordnungsgemäß zu entsorgen, um Ressourcenlecks zu verhindern:

<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>
Nach dem Login kopieren

Alternative Ansätze:

Während diese Methode das Excel-COM-Objekt verwendet, sollten Sie Alternativen wie EPPlus oder ClosedXML in Betracht ziehen, um die Leistung zu verbessern und Abhängigkeiten zu reduzieren, insbesondere beim Umgang mit großen Dateien. Diese Bibliotheken bieten einen besser verwalteten Ansatz für die Excel-Manipulation.

Dieser verfeinerte Ansatz kombiniert effiziente Datenextraktion mit robuster E-Mail-Validierung und ordnungsgemäßem Ressourcenmanagement und macht es so zu einer zuverlässigeren und skalierbaren Lösung. Denken Sie daran, den regulären Ausdruck an Ihre spezifischen E-Mail-Adressanforderungen anzupassen.

Das obige ist der detaillierte Inhalt vonWie lese ich mit C# Daten und finde bestimmte E-Mail-Formate in Excel-Dateien?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage