XLS zu CSV mit Win.powershell?
Hallo zusammen, ich sitze jetzt schon einige Zeit an einem Problem und komme einfach nicht weiter...
Ich habe verschiedene XLS dateien die aber alle gleich aufgebaut sind. Diese Dateien müssen zur Weiterverarbeitung in das CSV Format umformatiert werden. Die Tabellen haben alle einen Kopf und die Daten beginnen ab der 3 Spalte (zur seite sind auch noch Datensätze vorhanden). Ich würde mir jetzt gerne ein Skript basteln womit man aus den XLS Dateien CSVs machen kann. Das ganze sollte aber eher einfach sein...das das meine Nutzer auch selbst ausführen können....daher dachte ich an ein Powershell Skript, wo ich einfach einen Input und einen Output Ordner habe und das Skipt wandelt alles um.
Hat jemand vll. eine Idee wie das ganze aussehen müsste?
danke schon mal.
lg hscheip
Ich habe verschiedene XLS dateien die aber alle gleich aufgebaut sind. Diese Dateien müssen zur Weiterverarbeitung in das CSV Format umformatiert werden. Die Tabellen haben alle einen Kopf und die Daten beginnen ab der 3 Spalte (zur seite sind auch noch Datensätze vorhanden). Ich würde mir jetzt gerne ein Skript basteln womit man aus den XLS Dateien CSVs machen kann. Das ganze sollte aber eher einfach sein...das das meine Nutzer auch selbst ausführen können....daher dachte ich an ein Powershell Skript, wo ich einfach einen Input und einen Output Ordner habe und das Skipt wandelt alles um.
Hat jemand vll. eine Idee wie das ganze aussehen müsste?
danke schon mal.
lg hscheip
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 137097
Url: https://administrator.de/contentid/137097
Ausgedruckt am: 26.11.2024 um 02:11 Uhr
9 Kommentare
Neuester Kommentar
Hallo hscheip!
Wenn's nicht unbedingt PowerShell sein muss, mit einem VB-Script (*.vbs) läßt sich so etwas sehr einfach realisieren.
Gruß Dieter
Wenn's nicht unbedingt PowerShell sein muss, mit einem VB-Script (*.vbs) läßt sich so etwas sehr einfach realisieren.
Gruß Dieter
Hallo hscheip!
Ganze Zeilen Von Bis oder ab Zeile und Spalte Von Bis, Tabelle1...?
Konstante Eing-/Ausgabe-Pfade?
Trennzeichen Semikolon?
Also, mach mal genauere Angaben
Bei mir wird's allerdings etwas dauern, weil ich jetzt erstmal unterwegs bin. Vielleicht schaut ja in der Zwischenzeit noch ein Scripter vorbei, der Dir hilfreich zur Seite stehen kann.
Gruß Dieter
Zitat von @mitnick:
Hättest du da einen vorschlag wie ich das ganze machen könnte? mit vbs ab ich so was auch noch nie gemacht.
Im Prinzip schon. Das hängt aber erstmal davon ab, was genau exportiert werden soll.Hättest du da einen vorschlag wie ich das ganze machen könnte? mit vbs ab ich so was auch noch nie gemacht.
Ganze Zeilen Von Bis oder ab Zeile und Spalte Von Bis, Tabelle1...?
Konstante Eing-/Ausgabe-Pfade?
Trennzeichen Semikolon?
Also, mach mal genauere Angaben
Bei mir wird's allerdings etwas dauern, weil ich jetzt erstmal unterwegs bin. Vielleicht schaut ja in der Zwischenzeit noch ein Scripter vorbei, der Dir hilfreich zur Seite stehen kann.
Gruß Dieter
Hallo hscheip!
Ein von Dieter angesprochenes VBScript könnte etwa so aussehen:
Grüße
bastla
Ein von Dieter angesprochenes VBScript könnte etwa so aussehen:
OrdnerEin = "D:\Ein"
OrdnerAus = "D:\Aus"
AbZeile = 2
AbSpalte = 1 'Spalte A
Feldanzahl = 7
Set XL = CreateObject("Excel.Application")
Set fso = CreateObject("Scripting.FileSystemObject")
For Each Datei In fso.GetFolder(OrdnerEin).Files
If LCase(fso.GetExtensionName(Datei.Name)) = "xls" Then
XL.Workbooks.Open Datei.Path
Zeile = AbZeile
Aus = ""
Do While XL.Cells(Zeile, AbSpalte) <> ""
Satz = XL.Cells(Zeile, AbSpalte)
For i = 1 To Feldanzahl - 1
Satz = Satz & ";" & XL.Cells(Zeile, AbSpalte + i)
Next
Aus = Aus & vbCrLf & Satz
Zeile = Zeile + 1
Loop
If Aus <> "" Then
fso.CreateTextFile(OrdnerAus & "\" & fso.GetBaseName(Datei.Name) & ".csv").Write Mid(Aus, 3)
End If
XL.ActiveWorkbook.Close False
End If
Next
XL.Quit
MsgBox "Fertig."
bastla
Hallo hscheip, Hallo bastla!
@hscheip
Wie startest Du das Skript? Einen Fehler kann ich auf den ersten Blick nicht erkennen.
Hast Du die Pfade korrekt mit Hochkommata angepasst, z.B. so:
Oder hast Du vielleicht den Text so mit Zeilennummern kopiert? Dann rechts "Quelltext" anklicken und kopieren.
@bastla
Danke für's einspringen
Gruß Dieter
@hscheip
Wie startest Du das Skript? Einen Fehler kann ich auf den ersten Blick nicht erkennen.
Hast Du die Pfade korrekt mit Hochkommata angepasst, z.B. so:
OrdnerEin = "X:\...\...\MeinOrdner" |
Oder hast Du vielleicht den Text so mit Zeilennummern kopiert? Dann rechts "Quelltext" anklicken und kopieren.
@bastla
Danke für's einspringen
Gruß Dieter
Guten Morgen Holger!
Wow, ein ganzes Mittagessen
Danke für das Angebot. Ein Kaffee oder Cappuccino würde auch genügen
Gruß Dieter
Wow, ein ganzes Mittagessen
Danke für das Angebot. Ein Kaffee oder Cappuccino würde auch genügen
Gruß Dieter