Heim > Backend-Entwicklung > C++ > Wie kann ich Excel -Dateien effizient in C# ohne externe Bibliotheken effizient lesen und manipulieren?

Wie kann ich Excel -Dateien effizient in C# ohne externe Bibliotheken effizient lesen und manipulieren?

Mary-Kate Olsen
Freigeben: 2025-02-01 11:36:12
Original
653 Leute haben es durchsucht

How Can I Efficiently Read and Manipulate Excel Files Directly in C# Without External Libraries?

Direkte Excel -Dateizugriff in C#: Ein optimierter Ansatz

Die automatisierende Datenbearbeitung erfordert häufig effiziente C# -Methoden für den direkten Zugriff auf Excel -Dateien. Dies kann effektiv mit leicht verfügbaren, kostenlosen oder Open-Source-Bibliotheken erreicht werden.

Nutzung des Microsoft Jet OLEDB -Anbieters

Der Microsoft Jet OLEDB -Anbieter bietet eine leistungsstarke Lösung. Es ermöglicht C# -Anwendungen, eine Verbindung zu Excel -Dateien herzustellen und Daten über Abfragen abzurufen. So wie:

var filePath = Path.Combine(Directory.GetCurrentDirectory(), "fileNameHere.xlsx"); //Improved path handling
var connectionString = $"Provider=Microsoft.Jet.OLEDB.4.0;Data Source={filePath};Extended Properties='Excel 12.0;HDR=YES;';"; //Updated for newer Excel versions and header detection

using (var connection = new OleDbConnection(connectionString))
{
    connection.Open();
    using (var command = new OleDbCommand("SELECT * FROM [Sheet1$]", connection)) //Assumes sheet name "Sheet1"
    {
        using (var reader = command.ExecuteReader())
        {
            while (reader.Read())
            {
                //Process each row here
                string columnName1 = reader["ColumnName1"].ToString();
                // ... process other columns
            }
        }
    }
}
Nach dem Login kopieren

Dieser Code wird mit der Excel -Datei eine Verbindung hergestellt, eine Abfrage ausführt (Auswahl aller Daten aus "Blatt1") und die Ergebniszeile mit einer OleDbDataReader verarbeitet. Beachten Sie die aktualisierte Verbindungszeichenfolge für eine bessere Kompatibilität mit modernen Excel -Versionen und verbesserten Fehlerbehandlungen mithilfe von using Anweisungen.

Datenmanipulation mit Linq

Für ausgefeiltere Datenmanipulation bietet Linq (Language Integrated Query) ein leistungsstarkes Toolset. Während das obige Beispiel die Daten aus dem OleDbDataReader direkt verarbeitet, können Sie ein DataTable bevölkern und dann LINQ:

verwenden
// ... (previous code to populate a DataTable named 'dataTable') ...

var contacts = dataTable.AsEnumerable()
    .Where(row => !string.IsNullOrEmpty(row.Field<string>("phoneNumber")))
    .Select(row => new MyContact
    {
        FirstName = row.Field<string>("FirstName"),
        LastName = row.Field<string>("LastName"),
        PhoneNumber = row.Field<string>("phoneNumber")
    });
Nach dem Login kopieren

Diese Linq -Abfrage filtert für Kontakte mit Telefonnummern und projiziert sie in eine benutzerdefinierte MyContact Klasse.

Dieser kombinierte Ansatz unter Verwendung des Microsoft Jet OLEDB -Anbieters und LINQ bietet eine effiziente und flexible Möglichkeit, mit Excel -Daten direkt innerhalb Ihrer C# -Anwendung zu interagieren, wodurch die Komplexität der manuellen Datenanalyse vermieden wird. Denken Sie daran, potenzielle Ausnahmen in einer Produktionsumgebung angemessen zu bewältigen.

Das obige ist der detaillierte Inhalt vonWie kann ich Excel -Dateien effizient in C# ohne externe Bibliotheken effizient lesen und manipulieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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