EPPlus - Excel-Tabelle Lesen
Mit EPPlus, die ich Lesen möchte eine excel-Tabelle, und speichern Sie dann alle Inhalte aus jeder Spalte in Ihre entsprechenden List
. Ich will es zu erkennen, in der Tabelle überschrift und kategorisieren die Inhalte, die auf dieser Grundlage.
Zum Beispiel, wenn meine excel-Tabelle ist wie folgt:
Id Name Gender
1 John Male
2 Maria Female
3 Daniel Unknown
Möchte ich die Daten speichern, die in List<ExcelData>
wo
public class ExcelData
{
public string Id { get; set; }
public string Name { get; set; }
public string Gender { get; set; }
}
So, dass ich anrufen kann, den Inhalt mit der überschrift name. Zum Beispiel, wenn ich dies tun:
foreach (var data in ThatList)
{
Console.WriteLine(data.Id + data.Name + data.Gender);
}
Es mir diese Ausgabe:
1JohnMale
2MariaFemale
3DanielUnknown
Dies ist wirklich alles, was ich habe:
var package = new ExcelPackage(new FileInfo(@"C:\ExcelFile.xlsx"));
ExcelWorksheet sheet = package.Workbook.Worksheets[1];
var table = sheet.Tables.First();
table.Columns.Something //I guess I can use this to do what I want
Bitte helfen 🙁
Ich verbrachte lange Stunden mit der Suche nach Beispielcode in Bezug auf diese, so dass ich von ihm lernen können, aber ohne Erfolg. Ich verstehe auch ExcelToLinQ ist gelungen, aber es nicht erkennen können, die Tabelle.
InformationsquelleAutor Liren Yeo | 2016-04-15
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es gibt keine Muttersprache, sondern was ist, wenn Sie, was ich in diesem post:
Zum analysieren von excel-Zeilen zurück, die auf Typen mit EPPlus
Wenn Sie möchten, zeigen Sie es an eine Tabelle nur wird es geändert werden müssen. So etwas sollte es tun:
Hier ist eine test-Methode:
Gab dies in der Konsole:
Nur vorsichtig sein, wenn Sie Id-Feld ist eine Zahl oder eine Zeichenkette in excel, da sich die Klasse erwartet einen string.
In der test-Methode immer Fehler wie "Error 1 'OfficeOpenXml.Tabelle.ExcelTable' enthält keine definition für 'ConvertTableToObjects' und keine Erweiterungsmethode 'ConvertTableToObjects' die Annahme ein erstes argument vom Typ 'OfficeOpenXml.Tabelle.ExcelTable' gefunden werden konnte (fehlt eine using-Direktive oder ein Assemblyverweis?)"
der Fehler ist einfach zu sagen, es kann nicht finden, die extension-Methode überhaupt. Stellen Sie sicher, es ist irgendwo erklärt, wo der test kann um es zu bekommen.
InformationsquelleAutor Ernie
Nicht sicher, warum, aber keiner der oben genannten Lösung für mich arbeiten.
Also teilen, was funktioniert hat:
InformationsquelleAutor Suresh Kamrushi
Dies ist meine funktionierende version. Beachten Sie, dass die Resolver-code wird nicht angezeigt, sondern sind ein spin auf meine Implementierung ermöglicht die Spalten aufgelöst werden, auch wenn Sie benannt sind etwas anders in jedem Arbeitsblatt.
InformationsquelleAutor jwize
Code unten Lesen von excel-Daten in eine datatable, die umgewandelt wird in die Liste der von DataRows.
'ExcelPackage' does not contain a definition for 'ToDataTable' and no extension method 'ToDataTable' accepting a first argument of type 'ExcelPackage' could be found (are you missing a using directive or an assembly reference?)
InformationsquelleAutor Fenil Patel
Ich habe einen Fehler auf der ersten Antwort, so dass ich mich geändert habe einige code-Zeile.
Bitte versuchen Sie meinen neuen code, es funktioniert für mich.
Wie man diese Funktion aufrufen? bitte sehen Sie sich folgenden code;
FundraiserStudentListModel hier:
InformationsquelleAutor Sadik Ali