2016-03-25 8 views
0

Ich versuche, Datentabelle mit 1000000 Datensätze in Excel mit EPPlus-Bibliothek zu importieren.EPPlus - Zeile außerhalb des Bereichs Ausnahme

ExcelWorksheet ws = pck.Workbook.Worksheets.Add("Demo"); 
var recordCount = dt.Rows.Count; 
ws.Cells["A5"].LoadFromDataTable(dt, true); 

Ich erhalte Row Out of Range Ausnahme auf ws.Cells["A5"].LoadFromDataTable(dt, true); Linie

Es funktionierte, als ich 1000 Datensätze hatte.

Gibt es beim Arbeiten mit EPPlus eine Zeilenbegrenzungsgröße?

+0

Welche Version von Excel entspricht verwenden Sie? – dbugger

+0

Excel-Version ist 2010 – gene

+0

Das wird eine Million Datensätze halten. Ältere Versionen haben nur 64K. EPPlus ist nicht begrenzt. Von ein wenig googeln könnte es der ws.Cells ["A5"] sein, der den Fehler verursacht. – dbugger

Antwort

2

Sie haben wahrscheinlich versucht, ein wenig mehr als 1.000.000 Datensätze zu importieren. Das Maximum vor dem Auslösen dieser Ausnahme ist 1.048.576 (was genau der maximalen Anzahl der Zeilen specified für Excel Version 2010 entspricht).

Werfen Sie einen Blick auf dem Quellcode:

Die letzte Zeile der LoadFromDataTable Methode in ExcelRangeBase.cs gibt die importierten excelrange: _worksheet.Cells[...]

Sie die Umsetzung dieser Indexer werden Sie in ExcelRange.cs und dort finden können sehen Sie, dass der Bereich von ValidateRowCol (ganz unten) validiert wird.

Schließlich führt diese Überprüfung die Ausnahme, die Sie erwähnt, wenn die angeforderte Zeile größer als die MaxRows Eigenschaft eines excelpackage, die 1.048.576

Verwandte Themen