
133720
03.01.2022, aktualisiert um 18:11:24 Uhr
Powershell - Excel in HTML konvertieren
Hallo Leute.
Ich hoffe mir kann jemand helfen bei meinem winzigen Powershell-Problem.
Es wird ein Skript benötigt welches per Aufgabenplanung nach x-Minuten ausgeführt werden soll.
Excel-Datei von A nach B kopieren und entsprechend in HTML konvertieren damit der Webserver es wiedergeben kann.
Hier mein Anfang. Das Ding soll leicht verständlich sein sodass ein debuggen auch für andere möglich ist.
Remove-Item -Path 'C:\tmp\b\Mappe1.html';
Copy-Item -Path 'C:\tmp\a\Mappe1.xlsx' -Destination C:\tmp\b -Force;
Mir fehlt nur der Teil mit der Konvertierung. Das was ich im Netz gefunden habe, war nicht verständlich für mich.
Wenn jemand eine Idee hat bitte hier einmal posten.
Besten Dank.
Ich hoffe mir kann jemand helfen bei meinem winzigen Powershell-Problem.
Es wird ein Skript benötigt welches per Aufgabenplanung nach x-Minuten ausgeführt werden soll.
Excel-Datei von A nach B kopieren und entsprechend in HTML konvertieren damit der Webserver es wiedergeben kann.
Hier mein Anfang. Das Ding soll leicht verständlich sein sodass ein debuggen auch für andere möglich ist.
Remove-Item -Path 'C:\tmp\b\Mappe1.html';
Copy-Item -Path 'C:\tmp\a\Mappe1.xlsx' -Destination C:\tmp\b -Force;
Mir fehlt nur der Teil mit der Konvertierung. Das was ich im Netz gefunden habe, war nicht verständlich für mich.
Wenn jemand eine Idee hat bitte hier einmal posten.
Besten Dank.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 1685808336
Url: https://administrator.de/forum/powershell-excel-in-html-konvertieren-1685808336.html
Ausgedruckt am: 08.05.2025 um 19:05 Uhr
3 Kommentare
Neuester Kommentar

# assembly für Konstanten laden
Add-Type -A Microsoft.Office.Interop.Excel
# Excel Instanz erzeugen / evt. User-Abfragen deaktivieren
$objExcel = New-Object -Com Excel.Application -Property @{Visible = $false;DisplayAlerts = $false}
# Excel Dokument öffnen
$wb = $objExcel.Workbooks.Open("C:\tmp\a\Mappe1.xlsx")
# Dokument als HTML speichern
$wb.SaveAs("C:\tmp\b\Mappe1.html",[Microsoft.Office.Interop.Excel.XlFileFormat]::xlHtml)
# Abfragen wieder einschalten sonst bekommt der User beim nächsten Verwenden von Excel keine Dialoge mehr präsentiert, weil die Einstellung permanent ist.
$objExcel.DisplayAlerts = $true
# Excel schließen und verwendete COM Ressourcen vom Excel Objekt freigeben
$objExcel.Quit()
[System.Runtime.InteropServices.Marshal]::ReleaseComObject($objExcel)

Zitat von @133720:
Auf diesen Code wäre ich nie gckommen. Mir ist leider nicht ganz klar warum du so viele Variablen ($) erstellst.
Geht das auch ohne?
Wenn du noch dümmer sterben willst 😆. Kürzer geht immer aber ob dir das beim Verständnis geholfen hätte, ich bezweifle es ...zumal die Variablen hier nun wirklich kein Moos fressen weil sie eh gleich wieder durch die Garbage Collection zerstört werden.Auf diesen Code wäre ich nie gckommen. Mir ist leider nicht ganz klar warum du so viele Variablen ($) erstellst.
Geht das auch ohne?
$objExcel = New-Object -Com Excel.Application -Property @{DisplayAlerts = $false}
$objExcel.Workbooks.Open("C:\tmp\a\Mappe1.xlsx").SaveAs("C:\tmp\b\Mappe1.html",44)
$objExcel.DisplayAlerts = $true
$objExcel.Quit()
[System.Runtime.InteropServices.Marshal]::ReleaseComObject($objExcel)
Kommentare zur ausführlichen Variante siehe Ergänzung in den Zeilen weiter oben.
ACHTUNG mit dem Taskplaner, hier sind ein paar Vorarbeiten nötig damit Office COM Skripte auch erfolgreich laufen können, siehe
Per Batch in Aufgabeplanung XLS in CSV umwandeln