ASP.NET Zone

Die ASP.NET Community. Alle Antworten rund um Microsoft® Webtechnologien
Willkommen bei ASP.NET Zone. Anmelden | Registrieren | Hilfe | Impressum | ASP.NET Zone Suchplugin

in
Home Blogs Foren FAQ Communities Fotos Downloads
Werbeanzeige

Datensätze in SQL-Schreiben, dann Word-Dokument Öffnen und Datensatz aktivieren

Letzter Beitrag 02-12-2009, 23:32 von Stefan Falz. 9 Antworten.
Beiträge sortieren: Zurück Weiter
  •  02-10-2009, 18:59 206857

    Datensätze in SQL-Schreiben, dann Word-Dokument Öffnen und Datensatz aktivieren

    Hallo,

    ich würde gern über ein Webform Datensätze in eine SQL-DB schreiben lassen. Dann soll über einen Button ein Word-Dokument geöffnet werden, in dem die SQL-DB als Datenquelle für einen Serienbrief hinterlegt ist. Der soeben angelegte Datensatz soll dann ausgewählt (und nur dieser) werden, sodass das Dokument gedruckt ausgedruckt wird.

    Ist das umsetzbar?

  •  02-10-2009, 21:48 206860 Antwort zu 206857

    AW: Datensätze in SQL-Schreiben, dann Word-Dokument Öffnen und Datensatz aktivieren

    Hi,
    KiloMike:

    ich würde gern über ein Webform Datensätze in eine SQL-DB schreiben lassen. Dann soll über einen Button ein Word-Dokument geöffnet werden, in dem die SQL-DB als Datenquelle für einen Serienbrief hinterlegt ist. Der soeben angelegte Datensatz soll dann ausgewählt (und nur dieser) werden, sodass das Dokument gedruckt ausgedruckt wird.

    Ist das umsetzbar?


    Antwort: (Wahrscheinlich) Ja. Aber einfach wird das nicht.

    Punkt 1: Daten per Webanwendung in eine SQL Server DB schreiben.
    Geht sicher. Siehe SqlConnection, SqlCommand, ...

    Punkt 2: Word Dokument erzeugen.
    Geht auch. Siehe Aspose.Words und ähnliche Komponenten.

    Punkt 3: SQL Server Datenbank als Datenquelle für einen Word Serienbrief hinterlegen
    Siehe auch Aspose.Words oder ähnliche Komponenten.

    Punkt 4: Datensatz auswählen
    Keine Ahnung. Macht aber auch keinen Sinn, dann einen "Serienbrief" zu erzeugen, wenn Du eh nur einen einzigen Datensatz ausgeben willst. Dann kannst Du auch gleich _nur_ diesen Datensatz als Datenquelle nehmen oder die Inhalte direkt ins Dokument schreiben.

    Punkt 5: Drucken
    Wo? Auf dem Server? Geht nicht (ohne, dass man sich was abbricht). Auf dem Client? Hat der überhaupt Word installiert? Hier wäre ein PDF sinnvoller. Siehe dazu Aspose.Pdf oder ähnliche Komponenten.



    --
    Gruß, Stefan Falz
    Microsoft MVP - Visual Developer ASP/ASP.NET
    ASP.NET Consulting, Development, Coaching

    ASP.NET Zone - Leitfaden für gute Postings

    Xtopia 2008 - Gewinnspiel / Expression Studio und Xtopia Eintrittskarten zu gewinnen
  •  02-10-2009, 21:56 206862 Antwort zu 206857

    AW: Datensätze in SQL-Schreiben, dann Word-Dokument Öffnen und Datensatz aktivieren

    Innerhalb von Server-Daten gibt es etwas ähnliches, das allerdings ohne riesengroße externe Hilfsmittel auskommt:

    Zunächst eine Seite machen, welche die Daten (im Prinzip eine Datenzeile) als Brief / Rechnung / Informationsblatt darstellt.

    Dann in einem externen Prozeß einen Webbrowser laden, zu dieser Seite navigieren und die Seite ausdrucken.

    Der Standarddrucker ist ein Postscript-Drucker, der über RedMon (per google auffindbar) die Daten an ein externes Programm schickt - im Ergebnis wird das einfach in eine Datei mit einem speziellen Namen geschrieben.

    Der Prozeß mit dem Webbrowser schläft solange, bis es die Datei gibt - und macht dann per GhostScript ein PDF draus.


    Insgesamt: Eine Datenzeile -> ein PDF-Dokument.

    Server-Daten: Online - CRM - Lösungen

    Sql und Xml
  •  02-10-2009, 22:00 206864 Antwort zu 206862

    AW: Datensätze in SQL-Schreiben, dann Word-Dokument Öffnen und Datensatz aktivieren

    Hallo Jürgen,

    Jürgen Auer:
    Innerhalb von Server-Daten gibt es etwas ähnliches, das allerdings ohne riesengroße externe Hilfsmittel auskommt:

    Zunächst eine Seite machen, welche die Daten (im Prinzip eine Datenzeile) als Brief / Rechnung / Informationsblatt darstellt.

    Dann in einem externen Prozeß einen Webbrowser laden, zu dieser Seite navigieren und die Seite ausdrucken.

    Der Standarddrucker ist ein Postscript-Drucker, der über RedMon (per google auffindbar) die Daten an ein externes Programm schickt - im Ergebnis wird das einfach in eine Datei mit einem speziellen Namen geschrieben.

    Der Prozeß mit dem Webbrowser schläft solange, bis es die Datei gibt - und macht dann per GhostScript ein PDF draus.

    Insgesamt: Eine Datenzeile -> ein PDF-Dokument.

    Boah :) Das ist nicht dein Ernst, oder? Da find ich "meine" Variante ja noch richtig gut gegen^^ Wie soll das so umgesetzt werden, dass auch nur ein Mensch damit glücklich wird?

    @OP: Warum willst Du es eigentlich so kompliziert machen? Schreib die Daten in die Datenbank, lies sie (ggfs. zusammen mit anderen Daten, die Du an der Stelle brauchst) wieder aus, erzeug ein PDF und gut ist. Dann siehts auch auf jedem Rechner/Client gleich aus.


    --
    Gruß, Stefan Falz
    Microsoft MVP - Visual Developer ASP/ASP.NET
    ASP.NET Consulting, Development, Coaching

    ASP.NET Zone - Leitfaden für gute Postings

    Xtopia 2008 - Gewinnspiel / Expression Studio und Xtopia Eintrittskarten zu gewinnen
  •  02-10-2009, 22:43 206866 Antwort zu 206864

    AW: Datensätze in SQL-Schreiben, dann Word-Dokument Öffnen und Datensatz aktivieren

    Stefan Falz:
    Boah :) Das ist nicht dein Ernst, oder? Da find ich "meine" Variante ja noch richtig gut gegen^^ Wie soll das so umgesetzt werden, dass auch nur ein Mensch damit glücklich wird?


    Ich weiß genügend, die damit glücklich sind Smile

    Das hatte ich einmal kurz nach dem Online-Start einmalig im Gesamtsystem dazugebaut. Nun muß für eine aktuelle Verwendung bloß noch die entsprechende Ausgabeseite erstellt werden.

    Das nutzen Kunden für eigene Rechnungen, Teilnahmebestätigungen, als Infoblätter, die sie offline nutzen können. Bei einem Kunden sind das etwa 30 Externe, die damit Plakate generieren, sich ausdrucken und das aufhängen. Da geben die Externen die Daten ein, speichern - und können sich das Plakat für ihr Marketing gleich generieren.

    Für die Nutzer ist das nur ein Klick auf einen Link - kurz darauf erscheint eine Meldung 'Der PDF-Auftrag wurde ausgeführt', dann finden die Nutzer das PDF in ihrem Mailfach.

    Eine interaktive Version, bei der das PDF direkt als Download generiert wird, gibt es inzwischen auch.

    Wer das mit einer nicht designten Seite ausprobieren will: Html-Original und PDF
    Die Kundenrechnungen sehen natürlich etwas schniker aus.

    Server-Daten: Online - CRM - Lösungen

    Sql und Xml
  •  02-10-2009, 22:45 206867 Antwort zu 206864

    AW: Datensätze in SQL-Schreiben, dann Word-Dokument Öffnen und Datensatz aktivieren

    Also wie ich mir schon fast dachte... Ein Webform basteln ist einfacher :-)

    Was ist denn die einfachste Lösung, um serverseitig ein PDF zu erstellen, welches nach "Drucken" drücken zum Download angeboten wird?

  •  02-10-2009, 23:33 206869 Antwort zu 206866

    AW: Datensätze in SQL-Schreiben, dann Word-Dokument Öffnen und Datensatz aktivieren

    Hallo Jürgen,
    Jürgen Auer:

    Ich weiß genügend, die damit glücklich sind Smile


    ich meinte damit Entwickler, Admins, ... Die Endbenutzer wollen nur "Erfolg" sehen, wie das im Einzelnen, ist für die nicht wichtig.

    Wer soll auf einem Webserver externe Prozesse, Drucker, ... einrichten, vor allem, wenn der Entwickler nicht der Serveradmin ist, die üblichen Resktriktionen gelten, ... ist das keine einsetzbare Lösung. In einer Shared Hosting Umgebung schon gar nicht.

    Jürgen Auer:

    Das nutzen Kunden für eigene Rechnungen, Teilnahmebestätigungen, als Infoblätter, die sie offline nutzen können. Bei einem Kunden sind das etwa 30 Externe, die damit Plakate generieren, sich ausdrucken und das aufhängen. Da geben die Externen die Daten ein, speichern - und können sich das Plakat für ihr Marketing gleich generieren.

    Das könnte man (mit weniger Aufwand) mit beiden von mir genannten Lösungen auch :)

    Ist nicht böse gemeint aber deine Lösung empfinde ich als "durch die Brust ins Auge".


    --
    Gruß, Stefan Falz
    Microsoft MVP - Visual Developer ASP/ASP.NET
    ASP.NET Consulting, Development, Coaching

    ASP.NET Zone - Leitfaden für gute Postings

    Xtopia 2008 - Gewinnspiel / Expression Studio und Xtopia Eintrittskarten zu gewinnen
  •  02-12-2009, 22:44 207016 Antwort zu 206869

    AW: Datensätze in SQL-Schreiben, dann Word-Dokument Öffnen und Datensatz aktivieren

    Stefan Falz:
    ich meinte damit Entwickler, Admins, ... Die Endbenutzer wollen nur "Erfolg" sehen, wie das im Einzelnen, ist für die nicht wichtig.

    Wer soll auf einem Webserver externe Prozesse, Drucker, ... einrichten, vor allem, wenn der Entwickler nicht der Serveradmin ist, die üblichen Resktriktionen gelten, ... ist das keine einsetzbare Lösung. In einer Shared Hosting Umgebung schon gar nicht.


    Das Problem existiert nicht, da Server-Daten nicht verteilt, sondern ausschließlich auf Mietbasis angeboten wird.

    Damit war die Installation einmal notwendig.

    Würde Server-Daten verteilt werden, bräuchte ich eine explizite GhostScript - Lizenz dafür. So geht das mit der Standardlizenz (ich hatte mich explizit beim Hersteller deshalb erkundigt). Als Server-Daten im Dezember auf neue Server umgezogen ist, war das ziemlich schnell installiert.

    Stefan Falz:
    Jürgen Auer:

    Das nutzen Kunden für eigene Rechnungen, Teilnahmebestätigungen, als Infoblätter, die sie offline nutzen können. Bei einem Kunden sind das etwa 30 Externe, die damit Plakate generieren, sich ausdrucken und das aufhängen. Da geben die Externen die Daten ein, speichern - und können sich das Plakat für ihr Marketing gleich generieren.

    Das könnte man (mit weniger Aufwand) mit beiden von mir genannten Lösungen auch :)

    Ist nicht böse gemeint aber deine Lösung empfinde ich als "durch die Brust ins Auge".


    Es gab im April 2006 ein Problem (nämlich die Frage nach einer PDF-Generierung), das Problem hat sich auf diese Weise ziemlich schnell lösen lassen. Das ist ein kleiner Remote-Dienst, der aus der ASP.NET - Umgebung direkt angesprochen wird. Seither läuft das - warum soll ich mir groß Gedanken über eine andere Lösung machen, wenn diese Lösung das tut, was sie tun soll.

    Die Lösung funktioniert - und ich habe stapelweise damit zu tun, Kundendatenbanken u.a. mit diesem Feature der PDF-Generierung einzurichten (deshalb gibts auch erst heute die Antwort).


    KiloMike:
    Also wie ich mir schon fast dachte... Ein Webform basteln ist einfacher :-)

    Was ist denn die einfachste Lösung, um serverseitig ein PDF zu erstellen, welches nach "Drucken" drücken zum Download angeboten wird?

    Ich weiß nicht, was für dich einfach ist. Die oben skizzierte Lösung war für mich einfach - nachdem ich einmal die grundlegende Idee entwickelt hatte. Aber die gibt's ja jetzt öffentlich Smile


    Server-Daten: Online - CRM - Lösungen

    Sql und Xml
  •  02-12-2009, 23:28 207022 Antwort zu 207016

    AW: Datensätze in SQL-Schreiben, dann Word-Dokument Öffnen und Datensatz aktivieren

    Hallo Jürgen,
    Jürgen Auer:

    Das Problem existiert nicht, da Server-Daten nicht verteilt, sondern ausschließlich auf Mietbasis angeboten wird.

    Das Problem existiert aber bei allen anderen, die nicht "Server-Daten" (was ist das überhaupt, ein Provider? Edit: Nachdem ich dann irgendwann den Link in deiner Sig entdeckt hab, weiß ich jetzt, was es ist.) haben.

    Jürgen Auer:

    Es gab im April 2006 ein Problem (nämlich die Frage nach einer PDF-Generierung), das Problem hat sich auf diese Weise ziemlich schnell lösen lassen. Das ist ein kleiner Remote-Dienst, der aus der ASP.NET - Umgebung direkt angesprochen wird. Seither läuft das - warum soll ich mir groß Gedanken über eine andere Lösung machen, wenn diese Lösung das tut, was sie tun soll.

    Dass die Lösung bei dir funktioniert, ist ja schön. Jeder andere, der nicht "Server-Daten" verwenden will oder kann, wird damit seine (mehr oder weniger großen) Probleme haben.

    Jürgen Auer:

    Die Lösung funktioniert - und ich habe stapelweise damit zu tun, Kundendatenbanken u.a. mit diesem Feature der PDF-Generierung einzurichten (deshalb gibts auch erst heute die Antwort).

    Das freut mich für dich. Allerdings würde ich diese Lösung nicht nehmen und auch nicht empfehlen, da ich das immer noch als "durch die Brust ins Auge" sehe.

    BTW: Schau Dir mal das PDF in deinem Beispiellink an. Da wird am rechten Rand einiges abgeschnitten.


    --
    Gruß, Stefan Falz
    Microsoft MVP - Visual Developer ASP/ASP.NET
    ASP.NET Consulting, Development, Coaching

    ASP.NET Zone - Leitfaden für gute Postings

    Xtopia 2008 - Gewinnspiel / Expression Studio und Xtopia Eintrittskarten zu gewinnen
  •  02-12-2009, 23:32 207023 Antwort zu 206867

    AW: Datensätze in SQL-Schreiben, dann Word-Dokument Öffnen und Datensatz aktivieren

    Hallo KiloMike,
    KiloMike:

    Was ist denn die einfachste Lösung, um serverseitig ein PDF zu erstellen, welches nach "Drucken" drücken zum Download angeboten wird?


    das kommt drauf an, was Du "drucken" willst. Wenn Du die Möglichkeit haben willst, ein PDF "of the scratch" zu erstellen und so ziemlich alles zu manipulieren, nimm eine PDF Komponente. Wenn es Dir darum geht, eine HTML Seite in ein PDF umzuwandeln, nimm eine Html -> PDF Komponente (bspw. http://www.html-to-pdf.net/). ...


    --
    Gruß, Stefan Falz
    Microsoft MVP - Visual Developer ASP/ASP.NET
    ASP.NET Consulting, Development, Coaching

    ASP.NET Zone - Leitfaden für gute Postings

    Xtopia 2008 - Gewinnspiel / Expression Studio und Xtopia Eintrittskarten zu gewinnen
Als RSS Feed in XML ansehen
Powered by Community Server (Commercial Edition)