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.
How to Read and Store Data From CSV Files in C#
- Erstellen Sie ein C#-Konsolenprogramm in Visual Studio.
- Installieren Sie die CSV-Bibliothek mit dem NuGet-Paket-Manager.
- Laden Sie die CSV-Datei im Programm mit der Bibliothek.
- Erstellen Sie eine Verbindung mit der Datenbank.
- Lesen Sie den Inhalt der CSV-Datei mit der Bibliothek.
- Kopieren Sie diesen Inhalt mit der Methode
SqlBulkCopyin die Datenbank.
Hier ist ein Beispiel für einen Codeauszug:
using System;
using System.Data;
using System.Data.SqlClient; // For .NET Core/.NET 5+, use Microsoft.Data.SqlClient instead
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; // For .NET Core/.NET 5+, use Microsoft.Data.SqlClient instead
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 ' For .NET Core/.NET 5+, use Microsoft.Data.SqlClient instead
Imports System.Globalization
Imports System.IO
Imports CsvHelper
Namespace CsvReader
Class Program
Shared Sub Main(args As String())
Dim csvPath As String = "path\to\your\csv\file.csv"
Using reader As New StreamReader(csvPath)
Using csv As 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
Ersetzen Sie "path\to\your\csv\file.csv" durch den tatsächlichen Pfad zu Ihrer CSV-Datei, YourModel durch das Modell, das Ihre CSV-Daten repräsentiert, "your_connection_string" durch Ihren Datenbankverbindungsstring und "YourTableName" durch den Namen Ihrer Datenbanktabelle.
Einrichten der Umgebung
Voraussetzungen
- Visual Studio: Stellen Sie sicher, dass Visual Studio installiert ist.
- SQL Server: Sie sollten einen installierten und zugänglichen SQL Server haben.
- IronXL -Installation: Installieren Sie IronXL , indem Sie den folgenden NuGet -Befehl ausführen:
dotnet add package IronXL.Excel
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 durch Ihre spezifischen Angaben.
Schritt-für-Schritt-Anleitung zum Importieren von CSV-Daten
- Stellen Sie zunächst sicher, dass Sie eine CSV-Datei haben, die die zu importierenden Daten enthält.
- Erstellen Sie ein neues C#-Konsolenanwendungsprojekt in Visual Studio.
-
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 CsvHelperInstall-Package CsvHelperSHELL -
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; // For .NET Core/.NET 5+, use Microsoft.Data.SqlClient insteadusing System; using System.IO; using System.Globalization; using CsvHelper; using System.Data.SqlClient; // For .NET Core/.NET 5+, use Microsoft.Data.SqlClient insteadImports System Imports System.IO Imports System.Globalization Imports CsvHelper Imports System.Data.SqlClient ' For .NET Core/.NET 5+, use Microsoft.Data.SqlClient instead$vbLabelText $csharpLabel -
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 $csharpLabelStellen Sie sicher, dass Sie
C:\path\to\your\csv\file.csvdurch den tatsächlichen Pfad zu Ihrer CSV-Datei ersetzen. -
Erstellen Sie eine neue Instanz der Klasse
StreamReader, 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 -
Erstellen Sie eine neue Instanz der Klasse
CsvReaderund übergeben Sie das ObjektStreamReader: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 -
Optional können Sie
CsvReadermit allen notwendigen Einstellungen konfigurieren, indem Sie einCsvConfigurationObjekt an seinen Konstruktor übergeben. Zum Beispiel:var config = new CsvConfiguration(CultureInfo.InvariantCulture) { HasHeaderRecord = true, }; using var csv = new CsvReader(reader, config);var config = new CsvConfiguration(CultureInfo.InvariantCulture) { HasHeaderRecord = true, }; using var csv = new CsvReader(reader, config);Imports System.Globalization Imports CsvHelper Dim config As New CsvConfiguration(CultureInfo.InvariantCulture) With { .HasHeaderRecord = True } Using csv As New CsvReader(reader, config) ' Use csv here End Using$vbLabelText $csharpLabel -
Verwenden Sie die Methode
GetRecords<t>()desCsvReaderObjekts, um die CSV-Daten in eine Sammlung von Objekten zu lesen. Ersetzen Sie<t>durch den Objekttyp, der jeden Datensatz in der CSV-Datei darstellt. Zum Beispiel:var records = csv.GetRecords<YourModel>();var records = csv.GetRecords<YourModel>();Dim records = csv.GetRecords(Of YourModel)()$vbLabelText $csharpLabelStellen Sie sicher, dass Sie
YourModeldurch den tatsächlichen Namen Ihrer Modellklasse ersetzen. -
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 - Stellen Sie optional eine Verbindung zu Ihrer SQL Server-Datenbank mit ADO.NET oder einem ORM-Tool wie Entity Framework her.
- Fügen Sie jeden Datensatz mit Ihrem gewählten Datenbankzugangsmechanismus in die Datenbank ein. Wenn Sie beispielsweise ADO.NET verwenden, können Sie die Klasse
SqlBulkCopynutzen, um die Daten effizient in großen Mengen einzufügen. - Behandeln Sie alle während des Importprozesses auftretenden Ausnahmen und bieten Sie geeignete Fehlermeldungen oder Protokollierungen.
- 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.
Anschließend verwenden wir die IronXL-Bibliothek, um die CSV-Datei zu verarbeiten. Um die CSV-Datei mit IronXL zu lesen, werden Sie die Klassen WorkBook und WorkSheet verwenden. Die Klasse WorkBook repräsentiert ein komplettes Spreadsheet, das eine Excel-Datei oder, in unserem Fall, eine CSV-Datei sein kann. Wenn Sie den Pfad der CSV-Datei in ein WorkBook-Objekt laden, behandelt IronXL die CSV-Datei wie eine Tabellenkalkulation/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
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; // For .NET Core/.NET 5+, use Microsoft.Data.SqlClient instead
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; // For .NET Core/.NET 5+, use Microsoft.Data.SqlClient instead
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 ' For .NET Core/.NET 5+, use Microsoft.Data.SqlClient instead
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
Die Variable connectionString enthält alle notwendigen Details, um eine 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 wie folgt 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 nun 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; // For .NET Core/.NET 5+, use Microsoft.Data.SqlClient instead
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; // For .NET Core/.NET 5+, use Microsoft.Data.SqlClient instead
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 ' For .NET Core/.NET 5+, use Microsoft.Data.SqlClient instead
Public Class DataImporter
Public Sub ImportData(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
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
Zunächst wird eine Verbindung zur SQL Server-Datenbank mit Hilfe der Klasse DatabaseConnector geöffnet, um einen Weg für Datentransaktionen 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 Tabellenschema basiert auf dem DataTable Schema, das an die Methode übergeben wird, wobei alle Spalten auf NVARCHAR(MAX) gesetzt sind, um Textdaten zu berücksichtigen. 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. Wenn die Tabelle fertig ist, wird die Klasse SqlBulkCopy verwendet, um Daten aus 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, wo alles zusammenkommt und die tatsächliche Ausführung des Datenimports aus der CSV-Datei in die SQL Server-Datenbank ermöglicht.
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
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.

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. Wenn Sie sich nach der Testphase dazu entschließen, IronXL weiterhin für Ihre Projekte zu nutzen, 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.




