none
Aus Datenbank in .xlsx Datei-Blätter importieren. RRS feed

  • Frage

  • Hallo,

    ich habe 4 Tabellen in meiner Datenbank (Tabelle1,Tabelle2,Tabelle3,Tabelle4) und EINE export.xlsx Datei.

    In dieser export.xlsx Datei sind 4 Blätter mit den Namen (Tabelle1,Tabelle2,Tabelle3,Tabelle4). Ich soll die Inhalte der Tabellen aus der Datenbank in die jeweils passenden Blätter der export.xlsx Datei importieren.

    Ich habe nicht viel Erfahrung mit Powershell und habe bis jetzt nur aus .csv-Dateien IN die datenbank geschrieben. Ist das überhaupt möglich mit dem import in die xlsx-Blätter? Wenn ja, wonach muss ich suchen (Finde bei google nichts was mir hilft, vielleicht weiß ich einfach nicht wonach ich genau suchen muss).

    lg Zuyas

    Dienstag, 16. Juli 2013 12:23

Antworten

Alle Antworten

  • Mach dich erst einmal mit der "Fernsteuerung" von Excel durch PowerShell vertraut:
    http://www.powershellpraxis.de/index.php/microsoft-office/excel-ueber-com

    http://www.cerrotorre.de/faq-script/faq-script-excel-ps.htm

    Welche Datenbank benutzt du denn ? Access ? Microsoft SQL Server?

    Lies bitte dazu auch die Antwort in diesem Thread:
    http://social.technet.microsoft.com/Forums/de-DE/188571ec-f543-4e48-904b-ccc9f4f32007/ms-sql-2008-excel


    Please click “Mark as Answer” if my post answers your question and click “Vote As Helpful” if my Post helps you.
    Bitte markiere hilfreiche Beiträge von mir als “Als Hilfreich bewerten” und Beiträge die deine Frage ganz oder teilweise beantwortet haben als “Als Antwort markieren”.
    My PowerShell Blog http://www.admin-source.info
    [string](0..21|%{[char][int]([int]("{0:d}" -f 0x28)+('755964655967-86965747271757624-8796158066061').substring(($_*2),2))})-replace' '
    German ? Come to German PowerShell Forum!



    • Bearbeitet Peter Kriegel Dienstag, 16. Juli 2013 12:47 dasdsasd
    • Als Antwort markiert Zuyas Dienstag, 16. Juli 2013 14:45
    Dienstag, 16. Juli 2013 12:43
  • Als Datenbank wird Microsoft SQL Server verwendet.

    Ziel soll es sein die Daten von der Datenbank in die xlsx Blätter zu schreiben und anschließend die xlsx per Email zu verschicken. Das ganze soll dann als job jeden Tag um 18 Uhr ausgeführt werden.

    Ist Powershell da überhaupt eine gute Idee? Wenn nicht, womit mach ich es besser? (Es muss nur später von SYSTEM als job ausgeführt werden können).

    Dienstag, 16. Juli 2013 13:00
  • Als Datenbank wird Microsoft SQL Server verwendet.

    Ziel soll es sein die Daten von der Datenbank in die xlsx Blätter zu schreiben und anschließend die xlsx per Email zu verschicken. Das ganze soll dann als job jeden Tag um 18 Uhr ausgeführt werden.

    Ist Powershell da überhaupt eine gute Idee? Wenn nicht, womit mach ich es besser? (Es muss nur später von SYSTEM als job ausgeführt werden können).

    Lies bitte dazu auch die Antwort in diesem Thread:
    http://social.technet.microsoft.com/Forums/de-DE/188571ec-f543-4e48-904b-ccc9f4f32007/ms-sql-2008-excel

    Der SQL Server kann Datenexporte (auch nach Excel) selbst automatisch durchführen!

    http://www.mssqltips.com/sqlservertip/1202/export-data-from-sql-server-to-excel/

    http://technet.microsoft.com/de-de/library/cc952922%28v=sql.100%29.aspx


    Please click “Mark as Answer” if my post answers your question and click “Vote As Helpful” if my Post helps you.
    Bitte markiere hilfreiche Beiträge von mir als “Als Hilfreich bewerten” und Beiträge die deine Frage ganz oder teilweise beantwortet haben als “Als Antwort markieren”.
    My PowerShell Blog http://www.admin-source.info
    [string](0..21|%{[char][int]([int]("{0:d}" -f 0x28)+('755964655967-86965747271757624-8796158066061').substring(($_*2),2))})-replace' '
    German ? Come to German PowerShell Forum!




    Dienstag, 16. Juli 2013 13:15
  • Habe ich schon gelesen. Danke übrigens für die Links.

    Was mich nur interessiert bevor ich mich wirklich in eines dieser Gebiete einarbeite, lässt sich das später als job ausführen? z.B. wenn ich das über dieses Excel VBA mache.

    Die Datenbank liegt übrigens nicht auf dem selben Server wo der job ausgeführt werden soll. Dadurch wird das mit dem Datenexport vom SQL-Server selber nicht möglich sein, denke ich (oder irre ich mich da?).

    Dienstag, 16. Juli 2013 13:48
  • Die Datenbank liegt übrigens nicht auf dem selben Server wo der job ausgeführt werden soll. Dadurch wird das mit dem Datenexport vom SQL-Server selber nicht möglich sein, denke ich (oder irre ich mich da?).

    Ein Job wie du es meist, ist ein Trigger (Scheduled Task) der die Datenbank von außen auffordert etwas zu tun. Da denkst du zuviel wie ein Admin ;-)

    Wenn ich sage das der SQL Server die Daten ausgeben kann dann meine ich den SQl Server selbst von innen heraus. Dazu müssest du Datenbank Admin sein und Datenexportjobs innerhalb des SQL Servers anlegen oder T-SQL Abfragen erstellen. Der SQL server selbst kann das dann zeitlich steuern.
    Am besten Sprichst du da mit den SQL Server Admins.

    Grundsätzlich kann man im SQL Server solche Daten Exports auch anlegen und von außen anstossen.
    Ebenso kann man VBA in Excel von PowerShell aus ansteuern:
    8was ich besser finde als Excel komplett mit PS zu steuern)

    Can I run Excel Macros from PowerShell
    http://powergui.org/thread.jspa?threadID=6398

    Dies geht aber an dem Ansatz vorbei, eine 3er Beziehung und zusätzliche Fehlerquellen zu vermeiden!

    PowerShell als "man in the middle" ist nur Plan B! Finde ich!


    Please click “Mark as Answer” if my post answers your question and click “Vote As Helpful” if my Post helps you.
    Bitte markiere hilfreiche Beiträge von mir als “Als Hilfreich bewerten” und Beiträge die deine Frage ganz oder teilweise beantwortet haben als “Als Antwort markieren”.
    My PowerShell Blog http://www.admin-source.info
    [string](0..21|%{[char][int]([int]("{0:d}" -f 0x28)+('755964655967-86965747271757624-8796158066061').substring(($_*2),2))})-replace' '
    German ? Come to German PowerShell Forum!

    • Bearbeitet Peter Kriegel Dienstag, 16. Juli 2013 14:33 dsfdsfsdf
    Dienstag, 16. Juli 2013 14:31
  • Vielen Dank für deine Antworten, du hast mir sehr geholfen.

    Leider habe ich jetzt keine Zeit mehr, werde dann morgen anfangen ;) 

    Dienstag, 16. Juli 2013 14:44