Export - Import von Daten, automatisch

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

humanity
Beiträge: 3
Registriert: Di, 24.03.2009 02:22

Export - Import von Daten, automatisch

Beitrag von humanity »

Hallo liebes neues Forum :)

Ich habe eine Website programmiert, die mittels MySQL Daten speichert. Es handelt sich um Daten, von Kunden auf meiner Website.
Da es sich hoffentlich mal um viele handeln wird, möchte ich ein automatisches System programmieren, zur Verwaltung der Daten und Rechnungen.

Mit PHP + MySQL bekomm ich sowas leicht hin, doch möcht ich die daten auch offline verwalten.

Dazu bietet mir MySQL einen Export der tabellen in CSV oder sogar ODS format an.

Ich habe mir nun in Calc eine Datei gemacht, die einen Gesamtüberblick beinhaltet unter anderem auch der Rechnungen.

Nun möchte ich irgendwie, die versandten Rechnungen aus MySQL exportieren, herunterladen und diese dann mittels Calc prüfen und zwar automatisch.

Überlegt hätte ich mir das so: In einem Ordner speichere ich immer, die Tabellenexporte aus MySQL. Die Hauptdatei soll diesen Ordner auslesen, die aktuellen Rechnungen auslesen aus den Dateien und in einer Liste zusammenfassen.
Ein anderer Ordner beinhaltet einen Kontoauszug (CSV), der soll danach mit den bereits ausgesandten Rechnungen (Tabellenexporte) verglichen werden und in der Hauptdatei, soll dann immer dabei stehen, ob die Rechnung bezahlt ist oder noch nicht.

Händisch bekomm ich das hin, doch das automatische Auslesen von CSV oder ODS dateien, das will nicht klappen. Ich muss ja die Dateien immer erst ODS machen, dann einen Datenbereich festlegen und dann erst kann ich etwas synchronisieren. Auch weiß ich nicht, wie ich datenbereich automatisch nach unten hin verlängere.

Habt ihr Lösungen für mich?
1. Wie mach ich, dass eine Datei einen Ordner gleich durchsucht, Dateien aufmacht und Daten rauspickt, die es noch nicht hat?
2. Wie bringe ich eine Datei dazu, in einer Tabelle einfach neue Daten automatisch unten dran zu hängen?
3. Können das die Dateien, selber machen auch ohne mein zutun?
4. Ist das überhaupt realisierbar, oder sollte ich doch auf eine php+mysql Lösung zurückgreifen?

Wäre schön, wenn ihr mir Ansätze oder dergleichen liefern könnt. Wenns sein muss, schreib ich makros irgendwie dafür :)

Vielen Dank erst mal für euere Hilfe,

mfg
humanity
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: Export - Import von Daten, automatisch

Beitrag von komma4 »

humanity hat geschrieben:Hallo liebes neues Forum :)
Willkommen im Forum.

humanity hat geschrieben:Händisch bekomm ich das hin, doch das automatische Auslesen von CSV oder ODS dateien, das will nicht klappen.
Deine MySQL befindet sich "im Netz"?

Ich würde neue Rechnungen in einem Verzeichnis ablegen.
Dieses Verzeichnis periodisch bearbeiten, neue Rechnungen öffnen, Werte auslesen (mein Tipp: bei der Erstellung Textmarken der Vorlage besetzen; diese Felder lassen sich so leicht wieder finden), in meiner lokalen Datenbank speichern (RechNr als ID, um doppelte Erfassungen zu vermeiden), dann die Rechnung in ein "Archivverzeichnis" verschieben.

Die Werte könnte ich in einer lokalen Datenbank einfügen (einfaches INSERT statement mit Basic; lokale MySQL und PostgreSQL sind vorhanden).
Zahlungseingänge können in einer weiteren Tabelle verwaltet werden.


Du hörst Dich mit diesem posting so an, als ob Dir eine Datenbank nicht so fremd ist.
Das Speichern in einer Calc-Tabelle geht natürlich auch. Du hast die Fallstricke bei einer solchen Lösung aber auch schon erkannt...


Wenn Du Dich entschieden hast, welche Weg Du gehen möchtest, sind wir wieder für Dich da und beantworten Dir Deine Detailfragen [im Basic-Bereich; ergänzt um die Angaben von OOo-Version, Betriebssystem, verwendete Datenbank-engine und -treiber] gerne.


Vorab schon einmal: viel Erfolg!
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
humanity
Beiträge: 3
Registriert: Di, 24.03.2009 02:22

Re: Export - Import von Daten, automatisch

Beitrag von humanity »

komma4 hat geschrieben: Deine MySQL befindet sich "im Netz"?
Ja, diese ist im Netz.
komma4 hat geschrieben: Ich würde neue Rechnungen in einem Verzeichnis ablegen.
Dieses Verzeichnis periodisch bearbeiten, neue Rechnungen öffnen, Werte auslesen (mein Tipp: bei der Erstellung Textmarken der Vorlage besetzen; diese Felder lassen sich so leicht wieder finden), in meiner lokalen Datenbank speichern (RechNr als ID, um doppelte Erfassungen zu vermeiden), dann die Rechnung in ein "Archivverzeichnis" verschieben.

Es ist so. Es ist ein System zur Zeit auf zwei Websites mit zwei Domains. Daher habe ich dort zwei Datenbanken mit, zur Zeit an die 45 Tabellen.
In diesen Tabellen sind alle Daten drin, angefangen von Kundendaten, Nachrichten, verschiedenen Inserate u.s.w. bis über Seitenspezifische Daten, die dann von dort aus dynamisch eingebunden werden.
Ich hab nun ein php-script erstellt, dass mittels cronjob zum jeden ersten eines Monats aufgerufen wird und mit den Daten aus der DB, automatisch Rechnungen generiert und mittels der php-function mail() Rechnungen verschickt. Es verschickt nicht nur Rechnungen, sondern speichert auch alle Rechnungsdaten in eine Tabelle. Ohne den Standardfülltext versteht sich. (Das ist schon mal ein gutes Archivierungssystem)
Desweiteren, verschickt er an eine Archiv-adresse jede mail, damit diese dort archiviert werden. (ob nun ein pdf-angehängt wird, wie dieses aussieht u.s.w. ist belanglos, da eh alle Daten in der Rechnungstabelle drin sind)
Man ist ja verpflichtet jede rechnung 7 Jahre lang aufzubewahren, das würde gehen.

Um nun zu sehen, wer bezahlt hat, muss ich meine Online-DB mit einem Kontoauszug (im Format CSV) vergleichen. Ich könnte auch den Kontoauszug in die DB einfügen und es mittels php und cronjob einfach alle 10 Tage testen, z.b. und mir dann eine Anzeige in den Adminbereich schreiben, dass dort dann alle Rechnungn anzeigt. Somit könnte ich das immer von überall online prüfen, aber ich will das umbedingt auch / vielleicht nur offline machen.

Deswegen der CSV / ODS export der Rechnungstabelle und der CSV export des Kontos. (Es soll mal später ein paar hundert / tausend Mails pro Monat verwalten)
Das kann nur mit einer Tabelle funktionieren, ohne jede Rechnung einzeln zu prüfen.
Die Werte könnte ich in einer lokalen Datenbank einfügen (einfaches INSERT statement mit Basic; lokale MySQL und PostgreSQL sind vorhanden).
Zahlungseingänge können in einer weiteren Tabelle verwaltet werden.
Also in etwa so: ich mach mir mit xampp einen kleinen lokalen server, der alles kann und mach lokal mittels php+MySQL die Verwaltung. Das würd ich sogar hinbekommen :) Komisch, dass ich nicht draufgekommen bin.
Du hörst Dich mit diesem posting so an, als ob Dir eine Datenbank nicht so fremd ist.
Das Speichern in einer Calc-Tabelle geht natürlich auch. Du hast die Fallstricke bei einer solchen Lösung aber auch schon erkannt...
Fremd wohl nicht, nein :) Man lernt halt, was man braucht...

Also ist der Ansatz alles in eine Calc-Tabelle zu speichern, etwas zu starr, um solche dynamischen Sachen zu machen?

Mir gefällt OOo - calc, außerdem könnt ich dabei gleich die Bedienung des Programms besser lernen. Das Problem ist nur, dass ich die Daten so perfekt bereits aufm Server vorbereiten muss, damit Calc diese überhaupt einlesen kann. Da kann ich das gleich alles online machen. Die SQL-Befehele scheinen da viel ausgereifter zu sein und dürften auch bei den Datenmengen auch viel schneller funktionieren. Möcht nicht wissen, wielange es dauert in einer Datei zentral z.B.: 2000 Rechnungen auszulesen zu vergleichen und zu aktualisieren.

Gib mir einen Rat, wie ich das ganze angehen soll, wenns geht bitte :) Du scheinst dich ja auch auszukennen
humanity
Beiträge: 3
Registriert: Di, 24.03.2009 02:22

Re: Export - Import von Daten, automatisch

Beitrag von humanity »

Da hier auch sonst nichts mehr kam, hab ich das alles nun online gelöst.

Ich hab mir einen Fileupload programmiert... da lade ich meine Kontoauszuege direkt hoch. Diese werden in die DB eingelesen.
Dann werden sämtliche verschickten Rechnungen einfach mit den Kontoauszuegen verglichen und ich weiß sofort, wann wer was bezahlt hat (oder auch nicht...)
Das war auch der einfachere Weg denke ich.

Trotzdem danke an euch.
Antworten