AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi Größere Anzahl von Exceldateien auswerten

Größere Anzahl von Exceldateien auswerten

Ein Thema von zeras · begonnen am 12. Jul 2020 · letzter Beitrag vom 19. Jul 2020
Antwort Antwort
Seite 1 von 2  1 2   
zeras
Online

Registriert seit: 11. Mär 2007
Ort: Saalkreis
1.653 Beiträge
 
Delphi 12 Athens
 
#1

AW: Größere Anzahl von Exceldateien auswerten

  Alt 12. Jul 2020, 14:51
Aber Du wirst doch nicht jeden Tag alle Dateien einlesen müssen, oder?
Also reicht es doch bestimmt aus, den letzten Zeitpunkt der Auswertung zu speichern und beim nächsten Durchgang nur die dateien zu verarbeuten, die eben nach diesem gemerkten Zeitpunkt erstellt/geändert worden sind.
Ja, so in der Art fiel mir das vorhin auch ein.
Ich hatte erst einmal das Programm geschrieben, damit ich überhaupt an die Daten komme und nun habe ich bemerkt, dass es "ewig" dauert.

Wie Uwe oben beschrieben hat, kann ich ja auchmal flexcel versuchen. Aber das Merken der das Dateidatums wird wohl die schnellste Lösung sein.
Matthias
Es ist nie falsch das Richtige zu tun!
- Mark Twain
  Mit Zitat antworten Zitat
stifflersmom

Registriert seit: 8. Dez 2005
Ort: 24994 Holt
384 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#2

AW: Größere Anzahl von Exceldateien auswerten

  Alt 12. Jul 2020, 15:05
Wie Uwe oben beschrieben hat, kann ich ja auchmal flexcel versuchen. Aber das Merken der das Dateidatums wird wohl die schnellste Lösung sein.
Und der am wenigsten Fehlerrächtige, da Deine eigentliche Auswertungsroutine ja schon existiert und nicht an eine andere Schnittstelle wie Flexcel angepasst werden muss.
  Mit Zitat antworten Zitat
Meino

Registriert seit: 18. Sep 2018
Ort: Veenhusen
2 Beiträge
 
Delphi 10.3 Rio
 
#3

AW: Größere Anzahl von Exceldateien auswerten

  Alt 12. Jul 2020, 15:50
Flexcel ist um ein Vielfaches schneller als der Zugriff über OLE, besonders beim Schreiben. Man muss allerdings den Code umschreiben.

Wenn es nur ums Einlesen geht sollte das aber nicht aufwendig sein.
Einfach mal probieren. Der Code zum Einlesen und zum Verarbeiten ist getrennt?
Meino Aden
  Mit Zitat antworten Zitat
Benutzerbild von scrat1979
scrat1979

Registriert seit: 12. Jan 2007
Ort: Sulzbach a.d. Murr
1.029 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Größere Anzahl von Exceldateien auswerten

  Alt 12. Jul 2020, 16:13
Wie Uwe oben beschrieben hat, kann ich ja auchmal flexcel versuchen. Aber das Merken der das Dateidatums wird wohl die schnellste Lösung sein.
Und der am wenigsten Fehlerrächtige, da Deine eigentliche Auswertungsroutine ja schon existiert und nicht an eine andere Schnittstelle wie Flexcel angepasst werden muss.
Ich „merke“ mir - ein einem ähnlichen Kontext - Dateiname und die MD5-Checksumme. Hat sich bisher bestens bewährt. Stimmen Dateiname und MD5 überein dann unterstelle ich, dass die Datei identisch ist und überspringe sie. In meinem Fall geht es um eine Liste mit vorhandenen Backups.
Michael Kübler
  Mit Zitat antworten Zitat
zeras
Online

Registriert seit: 11. Mär 2007
Ort: Saalkreis
1.653 Beiträge
 
Delphi 12 Athens
 
#5

AW: Größere Anzahl von Exceldateien auswerten

  Alt 12. Jul 2020, 16:43

Ich „merke“ mir - ein einem ähnlichen Kontext - Dateiname und die MD5-Checksumme. Hat sich bisher bestens bewährt. Stimmen Dateiname und MD5 überein dann unterstelle ich, dass die Datei identisch ist und überspringe sie. In meinem Fall geht es um eine Liste mit vorhandenen Backups.
Die MD5-Checksumme ist neben dem Dateidatum auch eine Idee.
Gibt es in Delphi Funktionen, die direkt die MD5 Checksumme ausspucken oder muss man sich das selbst zusammenbauen?
Matthias
Es ist nie falsch das Richtige zu tun!
- Mark Twain
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.559 Beiträge
 
Delphi 7 Professional
 
#6

AW: Größere Anzahl von Exceldateien auswerten

  Alt 12. Jul 2020, 17:24

Ich „merke“ mir - ein einem ähnlichen Kontext - Dateiname und die MD5-Checksumme. Hat sich bisher bestens bewährt. Stimmen Dateiname und MD5 überein dann unterstelle ich, dass die Datei identisch ist und überspringe sie. In meinem Fall geht es um eine Liste mit vorhandenen Backups.
Die MD5-Checksumme ist neben dem Dateidatum auch eine Idee.
Gibt es in Delphi Funktionen, die direkt die MD5 Checksumme ausspucken oder muss man sich das selbst zusammenbauen?
MD5 ist auch dann noch eindeutig, wenn Dateiname und / oder Datum geändert wurden.

MD5 und Delphi? Bei Google suchendelphi source md5
Du hast die Qual der Wahl. Die Indys haben das auch dabei und sollen schon seit 'ner Weile bei Delphi immer mit dabei sein

18 Zeilen zur Umsetzung in einer eigenen Funktion sind z. B. hier zu finden.
  Mit Zitat antworten Zitat
Benmik

Registriert seit: 11. Apr 2009
570 Beiträge
 
Delphi 12 Athens
 
#7

AW: Größere Anzahl von Exceldateien auswerten

  Alt 12. Jul 2020, 20:13
Der erste Gedanke, der einem kommt, ist, ob man die Daten nicht unter Umgehung von Excel extrahieren könnte. Insbesondere, weil es immer die gleichen Zellen sind. Spätestestens seit 2007 verwendet Excel das Office Open XML-Format. Wenn man das direkt auslesen könnte, müsste das die Geschwindigkeit enorm steigern. Tatsächlich gibt es zumindest für .NET EPPlus und für Delphi findet sich bei Embarcadero Direct Office 4.0. Es scheint noch mehr Bibliotheken zu geben. Vielleicht wäre das ein Ansatz?
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
3.076 Beiträge
 
Delphi 12 Athens
 
#8

AW: Größere Anzahl von Exceldateien auswerten

  Alt 13. Jul 2020, 20:19
Ob MD5 direkt von Delphi's RTL unterstützt ist weiß ich nicht, aber
SHA1/SHA2 (SHA224, SHA256, SHA384 und SHA512) sind in System.Hash
standardmäßig seit ein paar Versionen dabei.

Grüße
TurboMagic
  Mit Zitat antworten Zitat
Benutzerbild von Chemiker
Chemiker

Registriert seit: 14. Aug 2005
1.859 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: Größere Anzahl von Exceldateien auswerten

  Alt 12. Jul 2020, 16:50
Hallo,

wird für jede Datei eine neue Excel-Instanz geöffnet? Wenn Du die Dateien einlesen willst, haben zu gleicher Zeit noch andere User Zugriff auf die Dateien? Wenn die Daten nur gelesen werden braucht man das Workbook nicht abspeichern, es muss nur geschlossen werden.

Bis bald Chemiker
wer gesund ist hat 1000 wünsche wer krank ist nur einen.
  Mit Zitat antworten Zitat
zeras
Online

Registriert seit: 11. Mär 2007
Ort: Saalkreis
1.653 Beiträge
 
Delphi 12 Athens
 
#10

AW: Größere Anzahl von Exceldateien auswerten

  Alt 12. Jul 2020, 17:03
Hallo,

wird für jede Datei eine neue Excel-Instanz geöffnet? Wenn Du die Dateien einlesen willst, haben zu gleicher Zeit noch andere User Zugriff auf die Dateien? Wenn die Daten nur gelesen werden braucht man das Workbook nicht abspeichern, es muss nur geschlossen werden.

Bis bald Chemiker
Nein, ich habe eine Excel Instanz vorher geöffnet, die dann für alle Tabellen genutzt wird.
Ich habe nochmal nachgeschaut. Das Workbook wird in diesem Falle nicht gespeichert, sondern nur geschlossen.
Matthias
Es ist nie falsch das Richtige zu tun!
- Mark Twain
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:54 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz