Zum Fußzeileninhalt springen
IRONXL VERWENDEN
Wie man Daten aus einer CSV-Datei liest und in einer Datenbank mit C# speichert

Wie man Daten aus einer CSV-Datei in einer Datenbank in C# liest und speichert

In der heutigen digitalen Welt ist der effiziente Umgang mit Daten eine wichtige Aufgabe. Eine häufige Anforderung in der Softwareentwicklung besteht darin, Daten aus einer CSV-Datei zu lesen und in einer Datenbank zu speichern. Dieses Tutorial behandelt die Schritte, um Daten aus einer CSV-Datei zu lesen und in einer SQL Server-Datenbank mit C# zu speichern, wobei die IronXL-Bibliothek verwendet wird. Diese Anleitung ist für Anfänger konzipiert und wird auf eine einfache, ansprechende Weise erklärt.

Grundlagen verstehen

Was ist eine CSV-Datei?

Eine CSV (Comma-Separated Values) Datei ist eine einfache Textdatei, die Daten enthält, die durch Kommas getrennt sind. Es ist ein beliebtes Format für den Datenaustausch aufgrund seiner Einfachheit und Kompatibilität mit verschiedenen Anwendungen wie Excel.

Die Rolle von SQL Server und Datenbanken

SQL Server ist ein Datenbankverwaltungssystem von Microsoft. Es wird verwendet, um Daten strukturiert zu speichern und zu verwalten. In unserem Fall speichern wir die CSV-Daten in einer SQL Server-Tabelle.

Einführung in IronXL

IronXL ist eine Excel-Bibliothek, die für .NET-Anwendungen maßgeschneidert ist. Sie wurde speziell entwickelt, um Entwicklern das Lesen, Generieren und Bearbeiten von Excel-Dateien zu ermöglichen, ohne dass Microsoft Office Interop erforderlich ist. Diese Bibliothek zeichnet sich durch ihre Kompatibilität mit verschiedenen .NET-Versionen und Plattformen, einschließlich .NET Core, .NET Standard und .NET Framework, sowie durch ihre Unterstützung für verschiedene Betriebssysteme wie Windows, Linux und macOS aus. Es ist eine leistungsstarke Bibliothek für den Datenimport, insbesondere für den Umgang mit CSV-Dateien.

Wie man Daten aus CSV-Dateien in C# liest und speichert

  1. Erstellen Sie ein C#-Konsolenprogramm in Visual Studio.
  2. Installieren Sie die CSV-Bibliothek mit dem NuGet-Paket-Manager.
  3. Laden Sie die CSV-Datei im Programm mit der Bibliothek.
  4. Erstellen Sie eine Verbindung mit der Datenbank.
  5. Lesen Sie den Inhalt der CSV-Datei mit der Bibliothek.
  6. Kopieren Sie diesen Inhalt mit der SqlBulkCopy-Methode in die Datenbank.

Hier ist ein Beispiel für einen Codeauszug:

using System;
using System.Data;
using System.Data.SqlClient;
using System.Globalization;
using System.IO;
using CsvHelper;

namespace CsvReader
{
    class Program
    {
        static void Main(string[] args)
        {
            string csvPath = @"path\to\your\csv\file.csv";

            using (var reader = new StreamReader(csvPath))
            using (var csv = new CsvReader(reader, CultureInfo.InvariantCulture))
            {
                // Mapping the CSV data to the corresponding model
                var records = csv.GetRecords<YourModel>();

                using (var sqlBulkCopy = new SqlBulkCopy("your_connection_string"))
                {
                    sqlBulkCopy.DestinationTableName = "YourTableName";
                    sqlBulkCopy.WriteToServer(records.AsDataReader());
                }

                Console.WriteLine("Data imported successfully!");
            }
        }
    }

    // Define your model that maps to the CSV columns
    public class YourModel
    {
        // Define properties here representing the CSV columns
    }
}
using System;
using System.Data;
using System.Data.SqlClient;
using System.Globalization;
using System.IO;
using CsvHelper;

namespace CsvReader
{
    class Program
    {
        static void Main(string[] args)
        {
            string csvPath = @"path\to\your\csv\file.csv";

            using (var reader = new StreamReader(csvPath))
            using (var csv = new CsvReader(reader, CultureInfo.InvariantCulture))
            {
                // Mapping the CSV data to the corresponding model
                var records = csv.GetRecords<YourModel>();

                using (var sqlBulkCopy = new SqlBulkCopy("your_connection_string"))
                {
                    sqlBulkCopy.DestinationTableName = "YourTableName";
                    sqlBulkCopy.WriteToServer(records.AsDataReader());
                }

                Console.WriteLine("Data imported successfully!");
            }
        }
    }

    // Define your model that maps to the CSV columns
    public class YourModel
    {
        // Define properties here representing the CSV columns
    }
}
Imports System
Imports System.Data
Imports System.Data.SqlClient
Imports System.Globalization
Imports System.IO
Imports CsvHelper

Namespace CsvReader
	Friend Class Program
		Shared Sub Main(ByVal args() As String)
			Dim csvPath As String = "path\to\your\csv\file.csv"

			Using reader = New StreamReader(csvPath)
			Using csv = New CsvReader(reader, CultureInfo.InvariantCulture)
				' Mapping the CSV data to the corresponding model
				Dim records = csv.GetRecords(Of YourModel)()

				Using sqlBulkCopy As New SqlBulkCopy("your_connection_string")
					sqlBulkCopy.DestinationTableName = "YourTableName"
					sqlBulkCopy.WriteToServer(records.AsDataReader())
				End Using

				Console.WriteLine("Data imported successfully!")
			End Using
			End Using
		End Sub
	End Class

	' Define your model that maps to the CSV columns
	Public Class YourModel
		' Define properties here representing the CSV columns
	End Class
End Namespace
$vbLabelText   $csharpLabel

Stellen Sie sicher, dass Sie "path\to\your\csv\file.csv" durch den tatsächlichen Pfad zu Ihrer CSV-Datei, YourModel mit dem Modell, das Ihre CSV-Daten repräsentiert, "your_connection_string" mit Ihrem Datenbank-Verbindungsstring und "YourTableName" mit dem Namen Ihrer Datenbanktabelle ersetzen.

Einrichten der Umgebung

Voraussetzungen

  1. Visual Studio: Stellen Sie sicher, dass Sie Visual Studio installiert haben.
  2. SQL Server: Sie sollten SQL Server installiert und zugänglich haben.
  3. IronXL-Installation: Installieren Sie IronXL, indem Sie den folgenden NuGet-Befehl ausführen:
dotnet add package IronXL

Stellen Sie sicher, dass Sie diese Befehle im Projektverzeichnis ausführen, in dem Sie IronXL installieren möchten.

Erstellen einer SQL Server-Tabelle

Bevor Sie Daten importieren, erstellen Sie eine Ziel-Tabelle in Ihrer SQL Server-Datenbank. Diese Tabelle wird die CSV-Daten speichern.

CREATE TABLE YourTableName (
    Column1 DataType,
    Column2 DataType,
    ...
);

Ersetzen Sie YourTableName, Column1, Column2 und DataType mit Ihren spezifischen Details.

Schritt-für-Schritt-Anleitung zum Importieren von CSV-Daten

  1. Stellen Sie zunächst sicher, dass Sie eine CSV-Datei haben, die die zu importierenden Daten enthält.
  2. Erstellen Sie ein neues C#-Konsolenanwendungsprojekt in Visual Studio.
  3. Installieren Sie das CsvHelper NuGet-Paket zum Lesen von CSV-Dateien. Dies können Sie tun, indem Sie die NuGet-Paketverwaltungskonsole in Visual Studio öffnen und den folgenden Befehl ausführen:

    Install-Package CsvHelper
    Install-Package CsvHelper
    SHELL
  4. Fügen Sie die erforderlichen using-Anweisungen oben in Ihrer C#-Code-Datei hinzu:

    using System;
    using System.IO;
    using System.Globalization;
    using CsvHelper;
    using System.Data.SqlClient;
    using System;
    using System.IO;
    using System.Globalization;
    using CsvHelper;
    using System.Data.SqlClient;
    Imports System
    Imports System.IO
    Imports System.Globalization
    Imports CsvHelper
    Imports System.Data.SqlClient
    $vbLabelText   $csharpLabel
  5. Geben Sie in Ihrem Code den Pfad zu Ihrer CSV-Datei an. Zum Beispiel:

    string csvFilePath = @"C:\path\to\your\csv\file.csv";
    string csvFilePath = @"C:\path\to\your\csv\file.csv";
    Dim csvFilePath As String = "C:\path\to\your\csv\file.csv"
    $vbLabelText   $csharpLabel

    Stellen Sie sicher, dass Sie C:\path\to\your\csv\file.csv durch den tatsächlichen Pfad zu Ihrer CSV-Datei ersetzen.

  6. Erstellen Sie eine neue Instanz der StreamReader-Klasse, um die CSV-Datei zu lesen:

    using (var reader = new StreamReader(csvFilePath))
    {
        // code goes here
    }
    using (var reader = new StreamReader(csvFilePath))
    {
        // code goes here
    }
    Using reader = New StreamReader(csvFilePath)
    	' code goes here
    End Using
    $vbLabelText   $csharpLabel
  7. Erstellen Sie eine neue Instanz der CsvReader-Klasse und übergeben Sie das StreamReader-Objekt:

    using (var reader = new StreamReader(csvFilePath))
    using (var csv = new CsvReader(reader, CultureInfo.InvariantCulture))
    {
        // code goes here
    }
    using (var reader = new StreamReader(csvFilePath))
    using (var csv = new CsvReader(reader, CultureInfo.InvariantCulture))
    {
        // code goes here
    }
    Using reader = New StreamReader(csvFilePath)
    Using csv = New CsvReader(reader, CultureInfo.InvariantCulture)
    	' code goes here
    End Using
    End Using
    $vbLabelText   $csharpLabel
  8. Konfigurieren Sie optional das CsvReader-Objekt mit allen erforderlichen Einstellungen. Zum Beispiel:

    csv.Configuration.HasHeaderRecord = true;
    csv.Configuration.HasHeaderRecord = true;
    csv.Configuration.HasHeaderRecord = True
    $vbLabelText   $csharpLabel
  9. Verwenden Sie die GetRecords<T>()-Methode des CsvReader-Objekts, um die CSV-Daten in eine Sammlung von Objekten zu lesen. Replace <T> with the type of object that represents each record in the CSV file. Zum Beispiel:

    var records = csv.GetRecords<YourModel>();
    var records = csv.GetRecords<YourModel>();
    Dim records = csv.GetRecords(Of YourModel)()
    $vbLabelText   $csharpLabel

    Stellen Sie sicher, dass Sie YourModel mit dem tatsächlichen Namen Ihrer Modellklasse ersetzen.

  10. Iterieren Sie über die Datensätze und führen Sie alle erforderlichen Verarbeitungen oder Validierungen durch:

    foreach (var record in records)
    {
        // Process each record as needed
    }
    foreach (var record in records)
    {
        // Process each record as needed
    }
    For Each record In records
    	' Process each record as needed
    Next record
    $vbLabelText   $csharpLabel
  11. Stellen Sie optional eine Verbindung zu Ihrer SQL Server-Datenbank mit ADO.NET oder einem ORM-Tool wie Entity Framework her.
  12. Fügen Sie jeden Datensatz mit Ihrem gewählten Datenbankzugangsmechanismus in die Datenbank ein. Zum Beispiel, wenn Sie ADO.NET verwenden, können Sie die SqlBulkCopy-Klasse nutzen, um die Daten effizient im Bulk einzufügen.
  13. Behandeln Sie alle während des Importprozesses auftretenden Ausnahmen und bieten Sie geeignete Fehlermeldungen oder Protokollierungen.
  14. Testen Sie Ihre Anwendung, indem Sie sie ausführen und überprüfen, ob die CSV-Daten erfolgreich in Ihre Datenbank importiert wurden.

Das war's! Sie haben nun erfolgreich CSV-Daten in Ihre SQL Server-Datenbank mit C# importiert.

Schritt 1: Lesen der CSV-Datei

Beim Beginn der Aufgabe, Daten aus einer CSV-Datei zu importieren, ist der erste entscheidende Schritt, die darin enthaltenen Daten korrekt zu lesen. Jede Zeile in einer CSV-Datei stellt typischerweise einen Datenrekord dar, und jeder Rekord besteht aus einem oder mehreren Feldern, die durch Kommas getrennt sind.

Wir verwenden dann die IronXL-Bibliothek, um die CSV-Datei zu handhaben. Um die CSV-Datei mit IronXL zu lesen, verwenden Sie ihre WorkBook und WorkSheet-Klassen. Die WorkBook-Klasse repräsentiert ein ganzes Arbeitsblatt, das eine Excel-Datei oder, in unserem Fall, eine CSV-Datei sein könnte. Wenn Sie den CSV-Dateipfad in ein WorkBook-Objekt laden, behandelt IronXL die CSV-Datei als Arbeitsblatt/Datentabelle.

using IronXL;
using System.Data;

public class CSVReader
{
    // Reads a CSV file and converts it to a DataTable
    public DataTable ReadCSV(string filePath)
    {
        WorkBook workbook = WorkBook.Load(filePath);
        WorkSheet sheet = workbook.DefaultWorkSheet;
        // Convert to DataTable for easier processing
        DataTable dataTable = sheet.ToDataTable(true); // Set to 'true' if your CSV has a header row
        return dataTable;
    }
}
using IronXL;
using System.Data;

public class CSVReader
{
    // Reads a CSV file and converts it to a DataTable
    public DataTable ReadCSV(string filePath)
    {
        WorkBook workbook = WorkBook.Load(filePath);
        WorkSheet sheet = workbook.DefaultWorkSheet;
        // Convert to DataTable for easier processing
        DataTable dataTable = sheet.ToDataTable(true); // Set to 'true' if your CSV has a header row
        return dataTable;
    }
}
Imports IronXL
Imports System.Data

Public Class CSVReader
	' Reads a CSV file and converts it to a DataTable
	Public Function ReadCSV(ByVal filePath As String) As DataTable
		Dim workbook As WorkBook = WorkBook.Load(filePath)
		Dim sheet As WorkSheet = workbook.DefaultWorkSheet
		' Convert to DataTable for easier processing
		Dim dataTable As DataTable = sheet.ToDataTable(True) ' Set to 'true' if your CSV has a header row
		Return dataTable
	End Function
End Class
$vbLabelText   $csharpLabel

Schritt 2: Herstellen einer Datenbankverbindung

Das Herstellen einer Verbindung zu Ihrer SQL Server-Datenbank ist ein grundlegender Schritt im Prozess des Speicherns Ihrer CSV-Daten. Dieser Schritt beinhaltet das Einrichten einer Kommunikationsverbindung zwischen Ihrer Anwendung und dem Datenbankserver. Eine erfolgreiche Verbindung ist entscheidend, da ohne sie eine Datenübertragung in die Datenbank unmöglich wäre.

Dieser Schritt konzentriert sich auf das Erstellen und Öffnen einer Verbindung mit einem Verbindungsstring in C#. Der Verbindungsstring ist eine wesentliche Komponente, da er die Informationen enthält, die zur Erstellung der Verbindung erforderlich sind. Es ist wie ein Schlüssel, der die Tür zu Ihrer Datenbank öffnet.

using System.Data.SqlClient;

public class DatabaseConnector
{
    // Connection string to connect to the database
    private string connectionString = "your_connection_string_here";

    public SqlConnection ConnectToDatabase()
    {
        SqlConnection connection = new SqlConnection(connectionString);
        connection.Open();
        return connection;
    }
}
using System.Data.SqlClient;

public class DatabaseConnector
{
    // Connection string to connect to the database
    private string connectionString = "your_connection_string_here";

    public SqlConnection ConnectToDatabase()
    {
        SqlConnection connection = new SqlConnection(connectionString);
        connection.Open();
        return connection;
    }
}
Imports System.Data.SqlClient

Public Class DatabaseConnector
	' Connection string to connect to the database
	Private connectionString As String = "your_connection_string_here"

	Public Function ConnectToDatabase() As SqlConnection
		Dim connection As New SqlConnection(connectionString)
		connection.Open()
		Return connection
	End Function
End Class
$vbLabelText   $csharpLabel

Die connectionString-Variable enthält alle notwendigen Details, um die Verbindung zu Ihrem SQL Server herzustellen. Sie umfasst typischerweise den Servernamen, den Datenbanknamen, die Benutzer-ID und das Passwort. Ein Beispiel für einen Verbindungsstring sieht so aus: Server=myServerAddress;Database=myDataBase;User Id=myUsername;Password=myPassword;. Es ist wichtig, diese Platzhalter durch Ihre tatsächlichen Serverdetails zu ersetzen.

Schritt 3: Speichern von Daten in der Datenbank

Nachdem Sie eine Verbindung mit der SQL Server-Datenbank hergestellt haben, ist der nächste kritische Schritt, die CSV-Daten in der Datenbank zu speichern. Dieser Schritt beinhaltet das Übertragen der gelesenen und verarbeiteten Daten in Ihre SQL Server Tabelle. Es ist ein entscheidender Teil des Datenhandhabungsprozesses, da es die tatsächliche Datenmigration von einer lokalen Datei zu einem Datenbankserver beinhaltet.

In diesem Schritt konzentrieren wir uns darauf, wie die CSV-Daten, die jetzt in einem DataTable gespeichert sind, in die SQL Server-Datenbank übertragen werden. Wir verwenden eine Kombination aus C# und SQL Server-Funktionen, um diese Aufgabe effizient zu erledigen.

using System;
using System.Data;
using System.Data.SqlClient;

public class DataImporter
{
    public void ImportData(DataTable dataTable)
    {
        using (SqlConnection connection = new DatabaseConnector().ConnectToDatabase())
        {
            // Check if the table exists and create it if it does not.
            string tableName = "CSVData"; // Use a valid SQL table name format
            string checkTable = $"IF NOT EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = '{tableName}') BEGIN ";
            string createTable = "CREATE TABLE " + tableName + " (";
            for (int i = 0; i < dataTable.Columns.Count; i++)
            {
                createTable += $"[{dataTable.Columns[i].ColumnName}] NVARCHAR(MAX)";
                if (i < dataTable.Columns.Count - 1)
                    createTable += ", ";
            }
            createTable += ") END";
            SqlCommand createTableCommand = new SqlCommand(checkTable + createTable, connection);
            createTableCommand.ExecuteNonQuery();

            // Now we use SqlBulkCopy to import the data
            using (SqlBulkCopy bulkCopy = new SqlBulkCopy(connection))
            {
                bulkCopy.DestinationTableName = tableName;
                try
                {
                    bulkCopy.WriteToServer(dataTable);
                    Console.WriteLine("Data imported successfully!");
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                }
            }
        }
    }
}
using System;
using System.Data;
using System.Data.SqlClient;

public class DataImporter
{
    public void ImportData(DataTable dataTable)
    {
        using (SqlConnection connection = new DatabaseConnector().ConnectToDatabase())
        {
            // Check if the table exists and create it if it does not.
            string tableName = "CSVData"; // Use a valid SQL table name format
            string checkTable = $"IF NOT EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = '{tableName}') BEGIN ";
            string createTable = "CREATE TABLE " + tableName + " (";
            for (int i = 0; i < dataTable.Columns.Count; i++)
            {
                createTable += $"[{dataTable.Columns[i].ColumnName}] NVARCHAR(MAX)";
                if (i < dataTable.Columns.Count - 1)
                    createTable += ", ";
            }
            createTable += ") END";
            SqlCommand createTableCommand = new SqlCommand(checkTable + createTable, connection);
            createTableCommand.ExecuteNonQuery();

            // Now we use SqlBulkCopy to import the data
            using (SqlBulkCopy bulkCopy = new SqlBulkCopy(connection))
            {
                bulkCopy.DestinationTableName = tableName;
                try
                {
                    bulkCopy.WriteToServer(dataTable);
                    Console.WriteLine("Data imported successfully!");
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                }
            }
        }
    }
}
Imports System
Imports System.Data
Imports System.Data.SqlClient

Public Class DataImporter
	Public Sub ImportData(ByVal dataTable As DataTable)
		Using connection As SqlConnection = (New DatabaseConnector()).ConnectToDatabase()
			' Check if the table exists and create it if it does not.
			Dim tableName As String = "CSVData" ' Use a valid SQL table name format
			Dim checkTable As String = $"IF NOT EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = '{tableName}') BEGIN "
			Dim createTable As String = "CREATE TABLE " & tableName & " ("
			For i As Integer = 0 To dataTable.Columns.Count - 1
				createTable &= $"[{dataTable.Columns(i).ColumnName}] NVARCHAR(MAX)"
				If i < dataTable.Columns.Count - 1 Then
					createTable &= ", "
				End If
			Next i
			createTable &= ") END"
			Dim createTableCommand As New SqlCommand(checkTable & createTable, connection)
			createTableCommand.ExecuteNonQuery()

			' Now we use SqlBulkCopy to import the data
			Using bulkCopy As New SqlBulkCopy(connection)
				bulkCopy.DestinationTableName = tableName
				Try
					bulkCopy.WriteToServer(dataTable)
					Console.WriteLine("Data imported successfully!")
				Catch ex As Exception
					Console.WriteLine(ex.Message)
				End Try
			End Using
		End Using
	End Sub
End Class
$vbLabelText   $csharpLabel

Es beginnt damit, eine Verbindung zur SQL Server-Datenbank mit der DatabaseConnector-Klasse zu öffnen, um einen Weg für Datenübertragungen zu gewährleisten. Die Methode überprüft das Vorhandensein der Tabelle mit dem Namen "CSVData" in der Datenbank.

Wenn die Tabelle nicht gefunden wird, fährt sie fort, sie zu erstellen. Das Schema der Tabelle wird basierend auf dem übergebenen DataTable-Schema erstellt, wobei alle Spalten auf NVARCHAR(MAX) gesetzt werden, um alle Textdaten aufzunehmen. Dies ist ein generischer Ansatz und muss möglicherweise verfeinert werden, um den spezifischen Datentypen besser zu entsprechen.

Anschließend wird ein SQL-Befehl formuliert und ausgeführt, um entweder das Vorhandensein der Tabelle zu überprüfen oder sie zu erstellen. Dies stellt sicher, dass die nachfolgende Bulk-Kopieroperation eine Ziel-Tabelle für die Dateneinfügung bereit hat. Mit der fertigen Tabelle wird die SqlBulkCopy-Klasse verwendet, um die Daten aus dem DataTable direkt in die SQL Server-Tabelle zu übertragen. Diese Operation ist für Hochleistungs-Bulk-Datenübertragungen ausgelegt, wodurch sie sich für die effiziente Handhabung großer Datenmengen eignet.

Schritt 4: Alles zusammenfügen

Nachdem Sie die vorherigen Schritte des Lesens von CSV-Daten, des Herstellens einer Datenbankverbindung und der Vorbereitung auf die Datenübertragung sorgsam durchgearbeitet haben, kommen wir zum letzten und entscheidenden Schritt: der Integration dieser einzelnen Komponenten zu einem zusammenhängenden Prozess.

Diese Integration erfolgt in der Main-Methode Ihrer C#-Anwendung, in der alles zusammenkommt, um den tatsächlichen Datenimport von der CSV-Datei in die SQL Server-Datenbank zu ermöglichen.

class Program
{
    static void Main(string[] args)
    {
        string filePath = "path_to_your_csv_file.csv";
        CSVReader reader = new CSVReader();
        DataTable dataTable = reader.ReadCSV(filePath);
        DataImporter importer = new DataImporter();
        importer.ImportData(dataTable);
        Console.WriteLine("Data imported successfully!");
    }
}
class Program
{
    static void Main(string[] args)
    {
        string filePath = "path_to_your_csv_file.csv";
        CSVReader reader = new CSVReader();
        DataTable dataTable = reader.ReadCSV(filePath);
        DataImporter importer = new DataImporter();
        importer.ImportData(dataTable);
        Console.WriteLine("Data imported successfully!");
    }
}
Friend Class Program
	Shared Sub Main(ByVal args() As String)
		Dim filePath As String = "path_to_your_csv_file.csv"
		Dim reader As New CSVReader()
		Dim dataTable As DataTable = reader.ReadCSV(filePath)
		Dim importer As New DataImporter()
		importer.ImportData(dataTable)
		Console.WriteLine("Data imported successfully!")
	End Sub
End Class
$vbLabelText   $csharpLabel

Ersetzen Sie path_to_your_csv_file.csv durch den Pfad zu Ihrer CSV-Datei.

Das Projekt ausführen

Sobald Sie das Projekt ausführen, sehen Sie die folgende Ausgabe. Die Erfolgsmeldungen zeigen an, dass alle Vorgänge erfolgreich ausgeführt wurden und die Daten in die Datenbank kopiert wurden.

Data imported successfully!

Jetzt können Sie den SQL Server Management Studio (SSMS) öffnen und die Tabelle in der Datenbank überprüfen. Sie sehen die folgenden Daten in der Tabelle.

Wie man Daten aus einer CSV-Datei liest und in einer Datenbank speichert C#: Abbildung 1 - Ausgabedatenbank

Abschluss

Dieses Tutorial hat Sie durch den Prozess geführt, Daten aus einer CSV-Datei zu lesen und in einer SQL Server-Datenbank mit C# zu speichern. Indem Sie diese Schritte befolgen und die IronXL-Bibliothek nutzen, können Sie CSV-Daten effizient in Ihren C#-Anwendungen verwalten.

IronXL bietet eine kostenlose Testversion für Benutzer, um die Funktionen zu erleben, bevor sie sich für einen Kauf entscheiden. Diese voll funktionsfähige Testversion erlaubt potenziellen Benutzern, das Produkt in einer Live-Umgebung zu testen und zu bewerten, ohne Wasserzeichen in der Produktion. Nach der Testphase, wenn Sie sich entscheiden, IronXL weiterhin für Ihre Projekte zu verwenden, beginnt die Lizenzierung für das Produkt bei $799.

Häufig gestellte Fragen

Wie kann ich Daten aus einer CSV-Datei in C# lesen?

Sie können Daten aus einer CSV-Datei in C# mit der IronXL-Bibliothek lesen. IronXL bietet `WorkBook`- und `WorkSheet`-Klassen, mit denen Sie CSV-Dateien laden und bearbeiten können, als wären es Excel-Dokumente.

Was sind die Schritte, um CSV-Daten in einer SQL Server-Datenbank mit C# zu speichern?

Um CSV-Daten in einer SQL Server-Datenbank mit C# zu speichern, lesen Sie zunächst die CSV-Datei mit IronXL, laden Sie dann die Daten in ein `DataTable` und verwenden Sie `SqlBulkCopy`, um die Daten effizient in eine SQL Server-Tabelle einzufügen.

Wie installiere ich IronXL zur Verwendung in meinem C# Projekt?

Sie können IronXL in Ihrem C# Projekt installieren, indem Sie den NuGet-Paketmanager in Visual Studio verwenden. Suchen Sie im NuGet Paketmanager nach 'IronXL' und fügen Sie es Ihrem Projekt hinzu.

Was ist der Hauptvorteil der Verwendung von IronXL zur Handhabung von CSV-Dateien in C#?

Der Hauptvorteil der Verwendung von IronXL zur Handhabung von CSV-Dateien in C# ist die nahtlose Verwaltung und Bearbeitung von CSV- und Excel-Dateien in .NET-Anwendungen mit Kompatibilität über verschiedene .NET-Versionen und Betriebssysteme hinweg.

Kann ich IronXL verwenden, um sowohl Excel- als auch CSV-Dateien zu verwalten?

Ja, IronXL ist darauf ausgelegt, sowohl Excel- als auch CSV-Dateien zu verwalten, was es zu einem vielseitigen Tool für die Verwaltung von Tabellendaten in .NET-Anwendungen macht.

Was sollte ich tun, wenn ich auf Fehler stoße, während ich IronXL zum Lesen von CSV-Dateien verwende?

Wenn Sie auf Fehler stoßen, während Sie IronXL zum Lesen von CSV-Dateien verwenden, stellen Sie sicher, dass die CSV-Datei korrekt formatiert ist und dass IronXL ordnungsgemäß in Ihrem Projekt installiert ist. Sie können in der IronXL-Dokumentation nach Tipps zur Fehlerbehebung suchen.

Wie kann ich die Funktionalität von IronXL testen, bevor ich mich für einen Kauf entscheide?

IronXL bietet eine kostenlose Testversion, die voll funktionsfähig ist, sodass Sie das Produkt in einer Produktionsumgebung ohne Einschränkungen testen und bewerten können.

Was sind die Voraussetzungen für die Verwendung von IronXL zum Speichern von CSV-Daten in einer Datenbank?

Die Voraussetzungen umfassen die Installation von Visual Studio, den Zugriff auf SQL Server und die Installation von IronXL über NuGet. Sie müssen auch eine SQL Server-Tabelle einrichten, um die CSV-Daten zu speichern.

Jordi Bardia
Software Ingenieur
Jordi ist am besten in Python, C# und C++ versiert. Wenn er nicht bei Iron Software seine Fähigkeiten einsetzt, programmiert er Spiele. Mit Verantwortung für Produkttests, Produktentwicklung und -forschung trägt Jordi mit immensem Wert zur kontinuierlichen Produktverbesserung bei. Die abwechslungsreiche Erfahrung hält ihn gefordert und engagiert, ...
Weiterlesen