Laden Sie große Menge von excel-Daten mit EPPlus

Ich habe eine basic winforms-app, die ein Benutzer hochladen einer excel-Datei (.xlsx) und ich möchten, Lesen Sie den Inhalt dieser Datei also ich bin mit EPPlus.

Das problem ist, ich bin versucht zu laden, den Inhalt einer sehr großen excel-Datei, es hat 7 Registerkarten mit einer Registerkarte mit mehr als 200k Zeilen, und ein anderer Reiter mit 70k. Die anderen 5 insgesamt auf rund 50k.

Diese Datei wird auch nur weiter, um größer zu werden.(Das Ziel), Da ich die Daten importieren möchten, Lesen Sie die Daten, und je nach den Regeln/Daten habe ich, brauche ich zum schreiben der Daten zurück auf die excel-Datei, und exportieren es.

Ich habe Probleme, wenn auch mit EPPlus bei der Erreichung der laden der Daten.

hier ist der code, den

var file = new FileInfo(filePath);
using (var package = new ExcelPackage(file))
{
    try
    {
        //Get the work book in the file
        ExcelWorkbook workBook = package.Workbook; //Hangs here for about 2 mins
        if (workBook != null)
        {
            if (workBook.Worksheets.Count > 0)
            {
                //Get the first worksheet
                ExcelWorksheet currentWorksheet = workBook.Worksheets.First();
                //gets the currentWorksheet but doesn't evaluate anything...

            }
        }
    }
    catch (Exception ex)
    {
        throw ex;
    }
}

Den code hängt auf der Verpackung.Arbeitsmappe Linie für etwa 2 Minuten. Dann geht es hinab in die wenn-wo bekommt es die currentWorkSheet, und wenn ich den Inhalt der variable in meiner Uhr, es wird nichts geladen, da zeigt es:

Funktion Auswertung deaktiviert, da eine Vorherige Funktion Auswertung timed out. Sie müssen fortsetzen zu reaktivieren Funktion Auswertung.

Sah ich diese link von EPPlus und es zeigt, dass das einzige Problem mit dem laden von großen Dateien ist die Belastung von oben nach unten und von Links nach rechts, und Sie sagen mehr als 5.000. Ich habe viel mehr als das, obwohl, so bin ich Frage mich, ob dies könnte sogar möglich sein, mit EPPlus?

Außerdem, ich habe einige google-suchen und die meisten Fragen sind Sie nicht öffnen können, die große excel-Dateien auf dem server, wo Sie lokal...

Habe ich auch begann, mich auf das Open XML-SDK und es scheint besser zu sein, was Leistung und Performance betrifft, aber auch viel schwieriger zu bedienen code-Weise.

Dies ist nicht meine Arbeit mit excel. Ich bin nur Kommissionierung bis ein Projekt, wo es aufgehört hat. Ich habe nie verwendet excel als Datenbank. Aber, in Bezug auf meine Antwort, mit EPPlus funktioniert für das, was ich beabsichtigt auf Verwendung es. Ich war nur der Zugriff auf die Zellen in unangemessener Weise. Auch die Bedeutung, die ich hatte gegen Open XML ist (aus meiner Sicht) sah es ein wenig härter, um code im Vergleich zu EPPlus. Dann wieder, ich bin nicht sehr vertraut mit, es entweder so, weiß ich nicht. Hätte ich benötigt, um diesen Weg gehen würde, habe ich gelernt.
Wenn Sie haben keine Kontrolle darüber, wie die Dateien generiert werden, und die Arbeitsmappen sind im wesentlichen flach-Dateien, d.h. es werden keine Funktionen/Makros/Formatierungen beteiligt, nur einen Daten-dump, Sie wären besser dran mit mehreren separaten .csv-Dateien anstelle von einer excel-Datei mit unterschiedlichen Arbeitsmappen. Gelingt das nicht, @DJKRAZE 's Vorschlag von hämmern aus einem OpenXML-Lösung ist die Art und Weise, darüber zu gehen.

InformationsquelleAutor Robin | 2014-11-21

Schreibe einen Kommentar