2016-04-22 25 views
0

In einem C# -Programm übertrage ich Excel-Daten in eine DataTable und zeige sie dann in einem DataGridView an. Aber meine Daten sind abgeschnitten: Die DataGridView endet in Spalte F255.C#: DataTable-Kapazität begrenzt

im Debug-Modus, fand ich meine Datatable eine Aufzeichnungskapazität von 256 hat, und es entspricht den Ort, wo meine Daten aus der Excel-Datei kopiert werden stoppen.

Konnte ich etwas falsch gemacht haben? Gibt es eine Möglichkeit, die DataTable-Kapazität zu erweitern? Vielen Dank im Voraus.

Antwort

1

DataTable-Zeilen haben einen Höchstwert von 16.777.216 Zeilen. Spalten sind durch Speicher begrenzt. Eine Sache, die Sie versuchen können, ist die Erzwingung, dass Ihre Anwendung als 64-Bit ausgeführt wird, indem Sie die Build-Einstellung in den Projekteigenschaften ändern.

Andernfalls müssten Sie mehr RAM kaufen.

+0

Vielen Dank für Ihre Antwort. Ich habe 6 GB RAM auf meinem PC, und es funktioniert nicht einmal mit 64 Bits erzwingen. Ich werde meine Excel-Datei auf andere Weise verwalten. –

+0

Ja, normalerweise, wenn Sie es auf AnyCPU eingestellt haben, dann wählt es den optimalen Modus, so dass es nur eine lange Einstellung war. Tables auch viel Speicher verbrauchen, könnte man einen anderen Ansatz zu Ihrem Problem betrachten oder structs Nutzung Ihrer Daten in einer anderen Art von Sammlung zu speichern, –