{"id":55000269,"date":"2021-06-01T00:00:00","date_gmt":"2021-11-10T09:12:29","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=269"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"CSVDatei_in_Klassen_importieren","status":"publish","type":"post","link":"https:\/\/vbentwickler.de\/CSVDatei_in_Klassen_importieren\/","title":{"rendered":"CSV-Datei in Klassen importieren"},"content":{"rendered":"<p><b>Unter Access war es einfach: Dort haben wir eine CSV-Datei oder auch Excel-Tabellen einfach als verkn&uuml;pfte Tabelle eingebunden und konnten dann direkt auf die Daten zugreifen. Beispielsweise, um diese dann per Anf&uuml;geabfrage in die Zieltabelle zu schreiben. Unter Entity Framework ist das so nicht m&ouml;glich. Nat&uuml;rlich k&ouml;nnte man das &Ouml;ffnen der Datei von Hand realisieren und die einzelnen Elemente einlesen. Aber es gibt einen anderen, effizienteren Weg, den wir mit einem NuGet-Paket namens CsvHelper beschreiten k&ouml;nnen. Diese Klasse erlaubt es, die Zeilen einer CSV-Datei automatisch in die Elemente auf Basis einer entsprechenden Klasse einzulesen. Oder Sie k&ouml;nnen damit auch die Zeilen durchlaufen und die Inhalte auf Basis des Indexes oder der Spalten&uuml;berschrift einlesen und weiterverarbeiten.<\/b><\/p>\n<h2>CsvHelper hinzuf&uuml;gen<\/h2>\n<p>Das erw&auml;hnte NuGet-Paket <b>CsvHelper <\/b>f&uuml;gen wir &uuml;ber den Nuget-Paket-Manager hinzu, den Sie &uuml;ber den Men&uuml;eintrag <b>Projekt|NuGet-Pakete verwalten&#8230; <\/b>&ouml;ffnen. Hier wechseln Sie zum Bereich <b>Durchsuchen <\/b>und geben <b>csvhelper <\/b>in das Suchfeld ein. Es erscheint der Eintrag <b>CsvHelper<\/b>, den wir ausw&auml;hlen und mit einem Klick auf die Schaltfl&auml;che <b>Installieren <\/b>zum Projekt hinzuf&uuml;gen (siehe Bild 1).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2021_03\/pic_269_001.png\" alt=\"Hinzuf&uuml;gen des CsvHelper-Pakets\" width=\"700\" height=\"401,3887\"\/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 1: Hinzuf&uuml;gen des CsvHelper-Pakets<\/span><\/b><\/p>\n<h2>Beispieldatei f&uuml;r den CSV-Import<\/h2>\n<p>Als Beispiel f&uuml;r die folgenden Importtechniken wollen wir eine CSV-Datei verwenden, die wir auf Basis der Tabelle <b>tblKunden<\/b> aus einer Access-Beispieldatenbank exportiert haben (siehe Bild 2).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2021_03\/pic_269_002.png\" alt=\"Beispiel-Datei\" width=\"700\" height=\"322,8599\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 2: Beispiel-Datei<\/span><\/b><\/p>\n<h2>Zielklasse f&uuml;r die Beispieldaten definieren<\/h2>\n<p>Das Ziel ist, die Daten aus einer <b>.csv<\/b>-Datei strukturiert zu erfassen, was in Form des Parsens direkt in Elemente einer Klasse geschehen soll. Dazu ben&ouml;tigen wir nat&uuml;rlich auch eine solche, und zwar eine namens <b>Kunde<\/b>. Diese definieren wir wie folgt:<\/p>\n<pre><span style=\"color:blue;\">Public Class<\/span> Kunde\r\n     <span style=\"color:blue;\">Public <\/span>Property KundeID<span style=\"color:blue;\"> As Long<\/span>\r\n     <span style=\"color:blue;\">Public <\/span>Property KundenCode<span style=\"color:blue;\"> As String<\/span>\r\n     <span style=\"color:blue;\">Public <\/span>Property Firma<span style=\"color:blue;\"> As String<\/span>\r\n     <span style=\"color:blue;\">Public <\/span>Property Kontaktperson<span style=\"color:blue;\"> As String<\/span>\r\n     <span style=\"color:blue;\">Public <\/span>Property Position<span style=\"color:blue;\"> As String<\/span>\r\n     <span style=\"color:blue;\">Public <\/span>Property Strasse<span style=\"color:blue;\"> As String<\/span>\r\n     <span style=\"color:blue;\">Public <\/span>Property Ort<span style=\"color:blue;\"> As String<\/span>\r\n     <span style=\"color:blue;\">Public <\/span>Property Region<span style=\"color:blue;\"> As String<\/span>\r\n     <span style=\"color:blue;\">Public <\/span>Property PLZ<span style=\"color:blue;\"> As String<\/span>\r\n     <span style=\"color:blue;\">Public <\/span>Property Land<span style=\"color:blue;\"> As String<\/span>\r\n     <span style=\"color:blue;\">Public <\/span>Property Telefon<span style=\"color:blue;\"> As String<\/span>\r\n     <span style=\"color:blue;\">Public <\/span>Property Telefax<span style=\"color:blue;\"> As String<\/span>\r\n<span style=\"color:blue;\">End Class<\/span><\/pre>\n<h2>Benutzeroberfl&auml;che f&uuml;r die Beispiele<\/h2>\n<p>Die Beispiele wollen wir in der Benutzeroberfl&auml;che der Anwendung darstellen. Dazu f&uuml;gen wir einige Elemente hinzu:<\/p>\n<ul>\n<li>Textfeld <b>txtImportFile <\/b>zur Eingabe\/Anzeige der einzulesenden Datei<\/li>\n<li>Schaltfl&auml;che <b>btnChooseFile <\/b>zum &Ouml;ffnen eines Dateiauswahl-Dialogs<\/li>\n<li>Schaltfl&auml;che <b>btnImportNoAssignment <\/b>zum Starten des ersten Beispiels f&uuml;r den Einlesevorgang<\/li>\n<li>DataGrid <b>dgrKunden <\/b>zur Anzeige der eingelesenen Daten<\/li>\n<\/ul>\n<p>Die Steuerelemente ordnen wir wie in Bild 3 an.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2021_03\/pic_269_003.png\" alt=\"Benutzeroberfl&auml;che f&uuml;r die Beispiele\" width=\"700\" height=\"398,6809\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 3: Benutzeroberfl&auml;che f&uuml;r die Beispiele<\/span><\/b><\/p>\n<p>Die Elemente definieren wir per XAML-Code wie folgt:<\/p>\n<pre>&lt;Grid&gt;\r\n    &lt;Grid.RowDefinitions&gt;\r\n       &lt;RowDefinition Height=\"Auto\"&gt;&lt;\/RowDefinition&gt;\r\n       &lt;RowDefinition Height=\"Auto\"&gt;&lt;\/RowDefinition&gt;\r\n       &lt;RowDefinition Height=\"*\"&gt;&lt;\/RowDefinition&gt;\r\n       &lt;RowDefinition Height=\"Auto\"&gt;&lt;\/RowDefinition&gt;\r\n    &lt;\/Grid.RowDefinitions&gt;\r\n    &lt;GroupBox Header=\"Beispiele Artikel CSV-Datei in Klassen importieren\" FontWeight=\"Bold\" Grid.Row=\"0\"&gt;\r\n       &lt;ContentControl FontWeight=\"Normal\"&gt;\r\n          &lt;StackPanel Orientation=\"Vertical\"&gt;\r\n             &lt;Grid&gt;\r\n                &lt;Grid.ColumnDefinitions&gt;\r\n                   &lt;ColumnDefinition Width=\"Auto\"&gt;&lt;\/ColumnDefinition&gt;\r\n                   &lt;ColumnDefinition Width=\"*\"&gt;&lt;\/ColumnDefinition&gt;\r\n                   &lt;ColumnDefinition Width=\"Auto\"&gt;&lt;\/ColumnDefinition&gt;\r\n                &lt;\/Grid.ColumnDefinitions&gt;\r\n                &lt;Label Grid.Column=\"0\"&gt;Datei:&lt;\/Label&gt;\r\n                &lt;TextBox x:Name=\"txtImportfile\" Grid.Column=\"1\" HorizontalAlignment=\"Stretch\"&gt;&lt;\/TextBox&gt;\r\n                &lt;Button x:Name=\"btnChooseFile\" Grid.Column=\"2\"  \r\n                   Click=\"btnChooseFile_Click\"&gt;Datei ausw&auml;hlen&lt;\/Button&gt;\r\n             &lt;\/Grid&gt;\r\n             &lt;StackPanel Orientation=\"Horizontal\"&gt;\r\n                &lt;Button x:Name=\"btnImportNoAssignment\" \r\n                   Click=\"btnImportNoAssignment_Click\"&gt;Ohne Zuordnung einlesen&lt;\/Button&gt;\r\n             &lt;\/StackPanel&gt;\r\n          &lt;\/StackPanel&gt;\r\n       &lt;\/ContentControl&gt;\r\n    &lt;\/GroupBox&gt;\r\n    &lt;Label Grid.Row=\"1\"&gt;Eingelesene Eintr&auml;ge:&lt;\/Label&gt;\r\n    &lt;DataGrid x:Name=\"dgrKunden\" Grid.Row=\"2\"&gt;&lt;\/DataGrid&gt;\r\n&lt;\/Grid&gt;<\/pre>\n<h2>CSV-Datei ausw&auml;hlen<\/h2>\n<p>Um die Datei auszuw&auml;hlen, kann der Benutzer mit der Schaltfl&auml;che <b>btnChooseFile <\/b>einen Dateiauswahldialog &ouml;ffnen. F&uuml;r den Code ben&ouml;tigen wir die folgende <b>Imports Namespace<\/b>-Anweisung:<\/p>\n<pre>Imports Microsoft.Win32 <\/pre>\n<p>Die Schaltfl&auml;che l&ouml;st die folgende Methode aus. Hier stellen wir das Verzeichnis auf das aktuelle Anwendungsverzeichnis ein (also das Verzeichnis, in dem sich die <b>.exe<\/b>-Datei befindet). Au&szlig;erdem legen wir die Standarddateiendung auf <b>.csv <\/b>fest. Danach &ouml;ffnen wir den Dialog und lesen das Ergebnis in das Textfeld <b>txtImportfile <\/b>ein:<\/p>\n<pre><span style=\"color:blue;\">Private Sub <\/span>btnChooseFile_Click(sender<span style=\"color:blue;\"> As Object<\/span>, e<span style=\"color:blue;\"> As <\/span>RoutedEventArgs)\r\n     <span style=\"color:blue;\">Dim <\/span>objOpenFileDialog<span style=\"color:blue;\"> As <\/span><span style=\"color:blue;\">New<\/span> OpenFileDialog\r\n     objOpenFileDialog.InitialDirectory = AppDomain.CurrentDomain.BaseDirectory\r\n     objOpenFileDialog.DefaultExt = \".csv\"\r\n     <span style=\"color:blue;\">If <\/span>(objOpenFileDialog.ShowDialog = <span style=\"color:blue;\">True<\/span>)<span style=\"color:blue;\"> Then<\/span>\r\n         txtImportfile.Text = objOpenFileDialog.FileName\r\n     <span style=\"color:blue;\">End If<\/span>\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<h2>Einlesen mit Spalten&uuml;berschriften, aber ohne Mapping<\/h2>\n<p>Die einfachste Art, die Daten aus der CSV-Datei in eine Auflistung mit Elementen des Typs <b>Kunde <\/b>einzulesen, ist die hinter der Schaltfl&auml;che <b>btnImportNoAssignment<\/b>.<\/p>\n<p>F&uuml;r die Anweisungen in dieser Methode ben&ouml;tigen wir einige Namespaces, die wir wie folgt deklarieren:<\/p>\n<pre>Imports System.Globalization\r\nImports System.IO\r\nImports System.Text\r\nImports CsvHelper<\/pre>\n<p>In der Methode definieren wir je ein Element der Typen <b>StreamReader <\/b>und <b>CsvReader<\/b>. Dann schreibt die Prozedur den Inhalt des Textfeldes <b>txtImportfile <\/b>in die Variable <b>strImportFile<\/b>:<\/p>\n<pre><span style=\"color:blue;\">Private Sub <\/span>btnImportNoAssignment_Click(sender<span style=\"color:blue;\"> As Object<\/span>, e<span style=\"color:blue;\"> As <\/span>RoutedEventArgs)\r\n     <span style=\"color:blue;\">Dim <\/span>strImportFile<span style=\"color:blue;\"> As String<\/span>\r\n     <span style=\"color:blue;\">Dim <\/span>objReader<span style=\"color:blue;\"> As <\/span>StreamReader\r\n     <span style=\"color:blue;\">Dim <\/span>objCsvReader<span style=\"color:blue;\"> As <\/span>CsvReader\r\n     <span style=\"color:blue;\">Dim <\/span>objRecords<span style=\"color:blue;\"> As Object<\/span>\r\n     <span style=\"color:blue;\">Dim <\/span>objKunde<span style=\"color:blue;\"> As <\/span>Kunde\r\n     <span style=\"color:blue;\">Dim <\/span>objKunden<span style=\"color:blue;\"> As <\/span><span style=\"color:blue;\">New<\/span> List(Of Kunde)\r\n     strImportFile = txtImportfile.Text<\/pre>\n<div class=\"rcp_restricted\"><p><span style=\"color: #ff0000\">M&ouml;chten Sie weiterlesen? Dann l&ouml;sen Sie Ihr Ticket!<\/span><br \/>\n<span style=\"color: #ff0000\">Hier geht es zur Bestellung des Jahresabonnements des Magazins <strong>Visual Basic Entwickler<\/strong>:<\/span><br \/>\n<span style=\"color: #ff0000\"><a style=\"color: #ff0000\" href=\"https:\/\/shop.minhorst.com\/magazine\/363\/visual-basic-entwickler-jahresabonnement?c=77\">Zur Bestellung ...<\/a><\/span><br \/>\n<span style=\"color: #ff0000\">Danach greifen Sie sofort auf <strong>alle rund 200 Artikel<\/strong> unseres Angebots zu - auch auf diesen hier!<\/span><br \/>\n<span style=\"color: #000000\">Oder haben Sie bereits Zugangsdaten? Dann loggen Sie sich gleich hier ein:<\/span><\/p>\n<\/div>\n\n\t\n\t<form id=\"rcp_login_form\"  class=\"rcp_form\" method=\"POST\" action=\"https:\/\/vbentwickler.de\/data\/wp\/v2\/posts\/55000269\/\">\n\n\t\t\n\t\t<fieldset class=\"rcp_login_data\">\n\t\t\t<p>\n\t\t\t\t<label for=\"rcp_user_login\">Username or Email<\/label>\n\t\t\t\t<input name=\"rcp_user_login\" id=\"rcp_user_login\" class=\"required\" type=\"text\"\/>\n\t\t\t<\/p>\n\t\t\t<p>\n\t\t\t\t<label for=\"rcp_user_pass\">Password<\/label>\n\t\t\t\t<input name=\"rcp_user_pass\" id=\"rcp_user_pass\" class=\"required\" type=\"password\"\/>\n\t\t\t<\/p>\n\t\t\t\t\t\t<p>\n\t\t\t\t<input type=\"checkbox\" name=\"rcp_user_remember\" id=\"rcp_user_remember\" value=\"1\"\/>\n\t\t\t\t<label for=\"rcp_user_remember\">Remember me<\/label>\n\t\t\t<\/p>\n\t\t\t<p class=\"rcp_lost_password\"><a href=\"\/data\/wp\/v2\/posts\/55000269?rcp_action=lostpassword\"><\/a><\/p>\n\t\t\t<p>\n\t\t\t\t<input type=\"hidden\" name=\"rcp_action\" value=\"login\"\/>\n\t\t\t\t\t\t\t\t\t<input type=\"hidden\" name=\"rcp_redirect\" value=\"https:\/\/vbentwickler.de\/data\/wp\/v2\/posts\/55000269\/\"\/>\n\t\t\t\t\t\t\t\t<input type=\"hidden\" name=\"rcp_login_nonce\" value=\"5003f23aeb\"\/>\n\t\t\t\t<input id=\"rcp_login_submit\" class=\"rcp-button\" type=\"submit\" value=\"Login\"\/>\n\t\t\t<\/p>\n\t\t\t\t\t<\/fieldset>\n\n\t\t\n\t<\/form>\n<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Unter Access war es einfach: Dort haben wir eine CSV-Datei oder auch Excel-Tabellen einfach als verkn&uuml;pfte Tabelle eingebunden und konnten dann direkt auf die Daten zugreifen. Beispielsweise, um diese dann per Anf&uuml;geabfrage in die Zieltabelle zu schreiben. Unter Entity Framework ist das so nicht m&ouml;glich. Nat&uuml;rlich k&ouml;nnte man das &Ouml;ffnen der Datei von Hand realisieren und die einzelnen Elemente einlesen. Aber es gibt einen anderen, effizienteren Weg, den wir mit einem NuGet-Paket namens CsvHelper beschreiten k&ouml;nnen. Diese Klasse erlaubt es, die Zeilen einer CSV-Datei automatisch in die Elemente auf Basis einer entsprechenden Klasse einzulesen. Oder Sie k&ouml;nnen damit auch die Zeilen durchlaufen und die Inhalte auf Basis des Indexes oder der Spalten&uuml;berschrift einlesen und weiterverarbeiten.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"categories":[662021,66032021,44000035,44000021,44000012],"tags":[],"yst_prominent_words":[],"class_list":["post-55000269","post","type-post","status-publish","format-standard","hentry","category-662021","category-66032021","category-COMDLLs_programmieren","category-Entity_Framework","category-Interaktiv"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.10 - aioseo.com -->\n\t<meta name=\"description\" content=\"Unter Access war es einfach: Dort haben wir eine CSV-Datei oder auch Excel-Tabellen einfach als verkn\u00fcpfte Tabelle eingebunden und konnten dann direkt auf die Daten zugreifen. Beispielsweise, um diese dann per Anf\u00fcgeabfrage in die Zieltabelle zu schreiben. Unter Entity Framework ist das so nicht m\u00f6glich. Nat\u00fcrlich k\u00f6nnte man das \u00d6ffnen der Datei von Hand realisieren und die einzelnen Elemente einlesen. Aber es gibt einen anderen, effizienteren Weg, den wir mit einem NuGet-Paket namens CsvHelper beschreiten k\u00f6nnen. Diese Klasse erlaubt es, die Zeilen einer CSV-Datei automatisch in die Elemente auf Basis einer entsprechenden Klasse einzulesen. Oder Sie k\u00f6nnen damit auch die Zeilen durchlaufen und die Inhalte auf Basis des Indexes oder der Spalten\u00fcberschrift einlesen und weiterverarbeiten.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Andr\u00e9 Minhorst\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/vbentwickler.de\/CSVDatei_in_Klassen_importieren\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"de_DE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Visual Basic Entwickler - Das Magazin f\u00fcr Datenbankentwickler auf Basis von Visual Studio und Co.\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"CSV-Datei in Klassen importieren - Visual Basic Entwickler\" \/>\n\t\t<meta property=\"og:description\" content=\"Unter Access war es einfach: Dort haben wir eine CSV-Datei oder auch Excel-Tabellen einfach als verkn\u00fcpfte Tabelle eingebunden und konnten dann direkt auf die Daten zugreifen. Beispielsweise, um diese dann per Anf\u00fcgeabfrage in die Zieltabelle zu schreiben. Unter Entity Framework ist das so nicht m\u00f6glich. Nat\u00fcrlich k\u00f6nnte man das \u00d6ffnen der Datei von Hand realisieren und die einzelnen Elemente einlesen. Aber es gibt einen anderen, effizienteren Weg, den wir mit einem NuGet-Paket namens CsvHelper beschreiten k\u00f6nnen. Diese Klasse erlaubt es, die Zeilen einer CSV-Datei automatisch in die Elemente auf Basis einer entsprechenden Klasse einzulesen. Oder Sie k\u00f6nnen damit auch die Zeilen durchlaufen und die Inhalte auf Basis des Indexes oder der Spalten\u00fcberschrift einlesen und weiterverarbeiten.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/vbentwickler.de\/CSVDatei_in_Klassen_importieren\/\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/datenbankentwickler.net\/wp-content\/uploads\/2022\/08\/cropped-header_vbe-1.png\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/datenbankentwickler.net\/wp-content\/uploads\/2022\/08\/cropped-header_vbe-1.png\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2021-11-10T09:12:29+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"-001-11-30T00:00:00+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n\t\t<meta name=\"twitter:title\" content=\"CSV-Datei in Klassen importieren - Visual Basic Entwickler\" \/>\n\t\t<meta name=\"twitter:description\" content=\"Unter Access war es einfach: Dort haben wir eine CSV-Datei oder auch Excel-Tabellen einfach als verkn\u00fcpfte Tabelle eingebunden und konnten dann direkt auf die Daten zugreifen. Beispielsweise, um diese dann per Anf\u00fcgeabfrage in die Zieltabelle zu schreiben. Unter Entity Framework ist das so nicht m\u00f6glich. Nat\u00fcrlich k\u00f6nnte man das \u00d6ffnen der Datei von Hand realisieren und die einzelnen Elemente einlesen. Aber es gibt einen anderen, effizienteren Weg, den wir mit einem NuGet-Paket namens CsvHelper beschreiten k\u00f6nnen. Diese Klasse erlaubt es, die Zeilen einer CSV-Datei automatisch in die Elemente auf Basis einer entsprechenden Klasse einzulesen. Oder Sie k\u00f6nnen damit auch die Zeilen durchlaufen und die Inhalte auf Basis des Indexes oder der Spalten\u00fcberschrift einlesen und weiterverarbeiten.\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/datenbankentwickler.net\/wp-content\/uploads\/2022\/08\/cropped-header_vbe-1.png\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"BlogPosting\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/CSVDatei_in_Klassen_importieren\\\/#blogposting\",\"name\":\"CSV-Datei in Klassen importieren - Visual Basic Entwickler\",\"headline\":\"CSV-Datei in Klassen importieren\",\"author\":{\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/author\\\/andreminhorst-com\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/#organization\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"..\\\/fileadmin\\\/_temp_\\\/2021_03\\\/pic_269_001.png\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/CSVDatei_in_Klassen_importieren\\\/#articleImage\"},\"datePublished\":\"2021-06-01T00:00:00+00:00\",\"dateModified\":\"-0001-11-30T00:00:00+00:00\",\"inLanguage\":\"de-DE\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/CSVDatei_in_Klassen_importieren\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/CSVDatei_in_Klassen_importieren\\\/#webpage\"},\"articleSection\":\"2021, 3\\\/2021, COM-DLLs programmieren, Entity Framework, Interaktiv\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/CSVDatei_in_Klassen_importieren\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/vbentwickler.de#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/vbentwickler.de\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/category\\\/2021\\\/#listItem\",\"name\":\"2021\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/category\\\/2021\\\/#listItem\",\"position\":2,\"name\":\"2021\",\"item\":\"https:\\\/\\\/vbentwickler.de\\\/category\\\/2021\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/category\\\/2021\\\/3\\\/2021\\\/#listItem\",\"name\":\"3\\\/2021\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/vbentwickler.de#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/category\\\/2021\\\/3\\\/2021\\\/#listItem\",\"position\":3,\"name\":\"3\\\/2021\",\"item\":\"https:\\\/\\\/vbentwickler.de\\\/category\\\/2021\\\/3\\\/2021\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/CSVDatei_in_Klassen_importieren\\\/#listItem\",\"name\":\"CSV-Datei in Klassen importieren\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/category\\\/2021\\\/#listItem\",\"name\":\"2021\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/CSVDatei_in_Klassen_importieren\\\/#listItem\",\"position\":4,\"name\":\"CSV-Datei in Klassen importieren\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/category\\\/2021\\\/3\\\/2021\\\/#listItem\",\"name\":\"3\\\/2021\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/#organization\",\"name\":\"Datenbankentwickler\",\"description\":\"Das Magazin f\\u00fcr Datenbankentwickler auf Basis von Visual Studio und Co.\",\"url\":\"https:\\\/\\\/vbentwickler.de\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/vbentwickler.de\\\/wp-content\\\/uploads\\\/2022\\\/08\\\/cropped-header_vbe-1.png\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/CSVDatei_in_Klassen_importieren\\\/#organizationLogo\",\"width\":664,\"height\":225},\"image\":{\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/CSVDatei_in_Klassen_importieren\\\/#organizationLogo\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/author\\\/andreminhorst-com\\\/#author\",\"url\":\"https:\\\/\\\/vbentwickler.de\\\/author\\\/andreminhorst-com\\\/\",\"name\":\"Andr\\u00e9 Minhorst\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/CSVDatei_in_Klassen_importieren\\\/#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"width\":96,\"height\":96,\"caption\":\"Andr\\u00e9 Minhorst\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/CSVDatei_in_Klassen_importieren\\\/#webpage\",\"url\":\"https:\\\/\\\/vbentwickler.de\\\/CSVDatei_in_Klassen_importieren\\\/\",\"name\":\"CSV-Datei in Klassen importieren - Visual Basic Entwickler\",\"description\":\"Unter Access war es einfach: Dort haben wir eine CSV-Datei oder auch Excel-Tabellen einfach als verkn\\u00fcpfte Tabelle eingebunden und konnten dann direkt auf die Daten zugreifen. Beispielsweise, um diese dann per Anf\\u00fcgeabfrage in die Zieltabelle zu schreiben. Unter Entity Framework ist das so nicht m\\u00f6glich. Nat\\u00fcrlich k\\u00f6nnte man das \\u00d6ffnen der Datei von Hand realisieren und die einzelnen Elemente einlesen. Aber es gibt einen anderen, effizienteren Weg, den wir mit einem NuGet-Paket namens CsvHelper beschreiten k\\u00f6nnen. Diese Klasse erlaubt es, die Zeilen einer CSV-Datei automatisch in die Elemente auf Basis einer entsprechenden Klasse einzulesen. Oder Sie k\\u00f6nnen damit auch die Zeilen durchlaufen und die Inhalte auf Basis des Indexes oder der Spalten\\u00fcberschrift einlesen und weiterverarbeiten.\",\"inLanguage\":\"de-DE\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/CSVDatei_in_Klassen_importieren\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/author\\\/andreminhorst-com\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/author\\\/andreminhorst-com\\\/#author\"},\"datePublished\":\"2021-06-01T00:00:00+00:00\",\"dateModified\":\"-0001-11-30T00:00:00+00:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/#website\",\"url\":\"https:\\\/\\\/vbentwickler.de\\\/\",\"name\":\"Datenbankentwickler\",\"description\":\"Das Magazin f\\u00fcr Datenbankentwickler auf Basis von Visual Studio und Co.\",\"inLanguage\":\"de-DE\",\"publisher\":{\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"CSV-Datei in Klassen importieren - Visual Basic Entwickler","description":"Unter Access war es einfach: Dort haben wir eine CSV-Datei oder auch Excel-Tabellen einfach als verkn\u00fcpfte Tabelle eingebunden und konnten dann direkt auf die Daten zugreifen. Beispielsweise, um diese dann per Anf\u00fcgeabfrage in die Zieltabelle zu schreiben. Unter Entity Framework ist das so nicht m\u00f6glich. Nat\u00fcrlich k\u00f6nnte man das \u00d6ffnen der Datei von Hand realisieren und die einzelnen Elemente einlesen. Aber es gibt einen anderen, effizienteren Weg, den wir mit einem NuGet-Paket namens CsvHelper beschreiten k\u00f6nnen. Diese Klasse erlaubt es, die Zeilen einer CSV-Datei automatisch in die Elemente auf Basis einer entsprechenden Klasse einzulesen. Oder Sie k\u00f6nnen damit auch die Zeilen durchlaufen und die Inhalte auf Basis des Indexes oder der Spalten\u00fcberschrift einlesen und weiterverarbeiten.","canonical_url":"https:\/\/vbentwickler.de\/CSVDatei_in_Klassen_importieren\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BlogPosting","@id":"https:\/\/vbentwickler.de\/CSVDatei_in_Klassen_importieren\/#blogposting","name":"CSV-Datei in Klassen importieren - Visual Basic Entwickler","headline":"CSV-Datei in Klassen importieren","author":{"@id":"https:\/\/vbentwickler.de\/author\/andreminhorst-com\/#author"},"publisher":{"@id":"https:\/\/vbentwickler.de\/#organization"},"image":{"@type":"ImageObject","url":"..\/fileadmin\/_temp_\/2021_03\/pic_269_001.png","@id":"https:\/\/vbentwickler.de\/CSVDatei_in_Klassen_importieren\/#articleImage"},"datePublished":"2021-06-01T00:00:00+00:00","dateModified":"-0001-11-30T00:00:00+00:00","inLanguage":"de-DE","mainEntityOfPage":{"@id":"https:\/\/vbentwickler.de\/CSVDatei_in_Klassen_importieren\/#webpage"},"isPartOf":{"@id":"https:\/\/vbentwickler.de\/CSVDatei_in_Klassen_importieren\/#webpage"},"articleSection":"2021, 3\/2021, COM-DLLs programmieren, Entity Framework, Interaktiv"},{"@type":"BreadcrumbList","@id":"https:\/\/vbentwickler.de\/CSVDatei_in_Klassen_importieren\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/vbentwickler.de#listItem","position":1,"name":"Home","item":"https:\/\/vbentwickler.de","nextItem":{"@type":"ListItem","@id":"https:\/\/vbentwickler.de\/category\/2021\/#listItem","name":"2021"}},{"@type":"ListItem","@id":"https:\/\/vbentwickler.de\/category\/2021\/#listItem","position":2,"name":"2021","item":"https:\/\/vbentwickler.de\/category\/2021\/","nextItem":{"@type":"ListItem","@id":"https:\/\/vbentwickler.de\/category\/2021\/3\/2021\/#listItem","name":"3\/2021"},"previousItem":{"@type":"ListItem","@id":"https:\/\/vbentwickler.de#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/vbentwickler.de\/category\/2021\/3\/2021\/#listItem","position":3,"name":"3\/2021","item":"https:\/\/vbentwickler.de\/category\/2021\/3\/2021\/","nextItem":{"@type":"ListItem","@id":"https:\/\/vbentwickler.de\/CSVDatei_in_Klassen_importieren\/#listItem","name":"CSV-Datei in Klassen importieren"},"previousItem":{"@type":"ListItem","@id":"https:\/\/vbentwickler.de\/category\/2021\/#listItem","name":"2021"}},{"@type":"ListItem","@id":"https:\/\/vbentwickler.de\/CSVDatei_in_Klassen_importieren\/#listItem","position":4,"name":"CSV-Datei in Klassen importieren","previousItem":{"@type":"ListItem","@id":"https:\/\/vbentwickler.de\/category\/2021\/3\/2021\/#listItem","name":"3\/2021"}}]},{"@type":"Organization","@id":"https:\/\/vbentwickler.de\/#organization","name":"Datenbankentwickler","description":"Das Magazin f\u00fcr Datenbankentwickler auf Basis von Visual Studio und Co.","url":"https:\/\/vbentwickler.de\/","logo":{"@type":"ImageObject","url":"https:\/\/vbentwickler.de\/wp-content\/uploads\/2022\/08\/cropped-header_vbe-1.png","@id":"https:\/\/vbentwickler.de\/CSVDatei_in_Klassen_importieren\/#organizationLogo","width":664,"height":225},"image":{"@id":"https:\/\/vbentwickler.de\/CSVDatei_in_Klassen_importieren\/#organizationLogo"}},{"@type":"Person","@id":"https:\/\/vbentwickler.de\/author\/andreminhorst-com\/#author","url":"https:\/\/vbentwickler.de\/author\/andreminhorst-com\/","name":"Andr\u00e9 Minhorst","image":{"@type":"ImageObject","@id":"https:\/\/vbentwickler.de\/CSVDatei_in_Klassen_importieren\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","width":96,"height":96,"caption":"Andr\u00e9 Minhorst"}},{"@type":"WebPage","@id":"https:\/\/vbentwickler.de\/CSVDatei_in_Klassen_importieren\/#webpage","url":"https:\/\/vbentwickler.de\/CSVDatei_in_Klassen_importieren\/","name":"CSV-Datei in Klassen importieren - Visual Basic Entwickler","description":"Unter Access war es einfach: Dort haben wir eine CSV-Datei oder auch Excel-Tabellen einfach als verkn\u00fcpfte Tabelle eingebunden und konnten dann direkt auf die Daten zugreifen. Beispielsweise, um diese dann per Anf\u00fcgeabfrage in die Zieltabelle zu schreiben. Unter Entity Framework ist das so nicht m\u00f6glich. Nat\u00fcrlich k\u00f6nnte man das \u00d6ffnen der Datei von Hand realisieren und die einzelnen Elemente einlesen. Aber es gibt einen anderen, effizienteren Weg, den wir mit einem NuGet-Paket namens CsvHelper beschreiten k\u00f6nnen. Diese Klasse erlaubt es, die Zeilen einer CSV-Datei automatisch in die Elemente auf Basis einer entsprechenden Klasse einzulesen. Oder Sie k\u00f6nnen damit auch die Zeilen durchlaufen und die Inhalte auf Basis des Indexes oder der Spalten\u00fcberschrift einlesen und weiterverarbeiten.","inLanguage":"de-DE","isPartOf":{"@id":"https:\/\/vbentwickler.de\/#website"},"breadcrumb":{"@id":"https:\/\/vbentwickler.de\/CSVDatei_in_Klassen_importieren\/#breadcrumblist"},"author":{"@id":"https:\/\/vbentwickler.de\/author\/andreminhorst-com\/#author"},"creator":{"@id":"https:\/\/vbentwickler.de\/author\/andreminhorst-com\/#author"},"datePublished":"2021-06-01T00:00:00+00:00","dateModified":"-0001-11-30T00:00:00+00:00"},{"@type":"WebSite","@id":"https:\/\/vbentwickler.de\/#website","url":"https:\/\/vbentwickler.de\/","name":"Datenbankentwickler","description":"Das Magazin f\u00fcr Datenbankentwickler auf Basis von Visual Studio und Co.","inLanguage":"de-DE","publisher":{"@id":"https:\/\/vbentwickler.de\/#organization"}}]},"og:locale":"de_DE","og:site_name":"Visual Basic Entwickler - Das Magazin f\u00fcr Datenbankentwickler auf Basis von Visual Studio und Co.","og:type":"article","og:title":"CSV-Datei in Klassen importieren - Visual Basic Entwickler","og:description":"Unter Access war es einfach: Dort haben wir eine CSV-Datei oder auch Excel-Tabellen einfach als verkn\u00fcpfte Tabelle eingebunden und konnten dann direkt auf die Daten zugreifen. Beispielsweise, um diese dann per Anf\u00fcgeabfrage in die Zieltabelle zu schreiben. Unter Entity Framework ist das so nicht m\u00f6glich. Nat\u00fcrlich k\u00f6nnte man das \u00d6ffnen der Datei von Hand realisieren und die einzelnen Elemente einlesen. Aber es gibt einen anderen, effizienteren Weg, den wir mit einem NuGet-Paket namens CsvHelper beschreiten k\u00f6nnen. Diese Klasse erlaubt es, die Zeilen einer CSV-Datei automatisch in die Elemente auf Basis einer entsprechenden Klasse einzulesen. Oder Sie k\u00f6nnen damit auch die Zeilen durchlaufen und die Inhalte auf Basis des Indexes oder der Spalten\u00fcberschrift einlesen und weiterverarbeiten.","og:url":"https:\/\/vbentwickler.de\/CSVDatei_in_Klassen_importieren\/","og:image":"https:\/\/datenbankentwickler.net\/wp-content\/uploads\/2022\/08\/cropped-header_vbe-1.png","og:image:secure_url":"https:\/\/datenbankentwickler.net\/wp-content\/uploads\/2022\/08\/cropped-header_vbe-1.png","article:published_time":"2021-11-10T09:12:29+00:00","article:modified_time":"-001-11-30T00:00:00+00:00","twitter:card":"summary_large_image","twitter:title":"CSV-Datei in Klassen importieren - Visual Basic Entwickler","twitter:description":"Unter Access war es einfach: Dort haben wir eine CSV-Datei oder auch Excel-Tabellen einfach als verkn\u00fcpfte Tabelle eingebunden und konnten dann direkt auf die Daten zugreifen. Beispielsweise, um diese dann per Anf\u00fcgeabfrage in die Zieltabelle zu schreiben. Unter Entity Framework ist das so nicht m\u00f6glich. Nat\u00fcrlich k\u00f6nnte man das \u00d6ffnen der Datei von Hand realisieren und die einzelnen Elemente einlesen. Aber es gibt einen anderen, effizienteren Weg, den wir mit einem NuGet-Paket namens CsvHelper beschreiten k\u00f6nnen. Diese Klasse erlaubt es, die Zeilen einer CSV-Datei automatisch in die Elemente auf Basis einer entsprechenden Klasse einzulesen. Oder Sie k\u00f6nnen damit auch die Zeilen durchlaufen und die Inhalte auf Basis des Indexes oder der Spalten\u00fcberschrift einlesen und weiterverarbeiten.","twitter:image":"https:\/\/datenbankentwickler.net\/wp-content\/uploads\/2022\/08\/cropped-header_vbe-1.png"},"aioseo_meta_data":{"post_id":"55000269","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"limit_modified_date":false,"created":"2024-01-30 16:14:30","updated":"2026-05-16 08:52:42","ai":null,"breadcrumb_settings":null,"seo_analyzer_scan_date":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/vbentwickler.de\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/vbentwickler.de\/category\/2021\/\" title=\"2021\">2021<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/vbentwickler.de\/category\/2021\/3\/2021\/\" title=\"3\/2021\">3\/2021<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tCSV-Datei in Klassen importieren\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/vbentwickler.de"},{"label":"2021","link":"https:\/\/vbentwickler.de\/category\/2021\/"},{"label":"3\/2021","link":"https:\/\/vbentwickler.de\/category\/2021\/3\/2021\/"},{"label":"CSV-Datei in Klassen importieren","link":"https:\/\/vbentwickler.de\/CSVDatei_in_Klassen_importieren\/"}],"_links":{"self":[{"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/posts\/55000269","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/comments?post=55000269"}],"version-history":[{"count":0,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/posts\/55000269\/revisions"}],"wp:attachment":[{"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/media?parent=55000269"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/categories?post=55000269"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/tags?post=55000269"},{"taxonomy":"yst_prominent_words","embeddable":true,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/yst_prominent_words?post=55000269"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}