Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

XLS zu CSV mit Win.powershell?

Frage Entwicklung

Mitglied: hscheip

hscheip (Level 1) - Jetzt verbinden

01.03.2010, aktualisiert 13:30 Uhr, 5583 Aufrufe, 9 Kommentare

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
Mitglied: 76109
01.03.2010 um 11:52 Uhr
Hallo hscheip!

Wenn's nicht unbedingt PowerShell sein muss, mit einem VB-Script (*.vbs) läßt sich so etwas sehr einfach realisieren.

Gruß Dieter
Bitte warten ..
Mitglied: hscheip
01.03.2010 um 12:01 Uhr
Hättest du da einen vorschlag wie ich das ganze machen könnte? mit vbs ab ich so was auch noch nie gemacht.

Lg hscheip
Bitte warten ..
Mitglied: 76109
01.03.2010 um 12:45 Uhr
Hallo hscheip!

Zitat von hscheip:
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.

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
Bitte warten ..
Mitglied: hscheip
01.03.2010 um 13:07 Uhr
Ah oke dann werd ich das ganze mal etwas genauer beschreiben ^^,
Also es geht um Tabellen die eigentlich Immer unterschiedliche Datensätze haben....einmal 50, das andere mal 100 Einträge. Das ganze sollte dann idealerweise in eine CSV umgewandelt werden, die die Trennungen als Semikolon hat. Die ein und ausgangspfade wären immer gleich.

lg hscheip
Bitte warten ..
Mitglied: bastla
01.03.2010 um 15:29 Uhr
Hallo hscheip!

Ein von Dieter angesprochenes VBScript könnte etwa so aussehen:
01.
OrdnerEin = "D:\Ein" 
02.
OrdnerAus = "D:\Aus" 
03.
 
04.
AbZeile = 2 
05.
AbSpalte = 1 'Spalte A 
06.
Feldanzahl = 7 
07.
 
08.
Set XL = CreateObject("Excel.Application") 
09.
Set fso = CreateObject("Scripting.FileSystemObject") 
10.
 
11.
For Each Datei In fso.GetFolder(OrdnerEin).Files 
12.
    If LCase(fso.GetExtensionName(Datei.Name)) = "xls" Then 
13.
        XL.Workbooks.Open Datei.Path 
14.
        Zeile = AbZeile 
15.
        Aus = "" 
16.
        Do While XL.Cells(Zeile, AbSpalte) <> "" 
17.
            Satz = XL.Cells(Zeile, AbSpalte) 
18.
            For i = 1 To Feldanzahl - 1 
19.
                Satz = Satz & ";" & XL.Cells(Zeile, AbSpalte + i) 
20.
            Next 
21.
            Aus = Aus & vbCrLf & Satz 
22.
            Zeile = Zeile + 1 
23.
        Loop 
24.
        If Aus <> "" Then 
25.
            fso.CreateTextFile(OrdnerAus & "\" & fso.GetBaseName(Datei.Name) & ".csv").Write Mid(Aus, 3) 
26.
        End If 
27.
        XL.ActiveWorkbook.Close False 
28.
    End If 
29.
Next 
30.
XL.Quit 
31.
MsgBox "Fertig."
Grüße
bastla
Bitte warten ..
Mitglied: hscheip
01.03.2010 um 16:01 Uhr
danke für das beispiel, ich glaub nur ich bin gerade etwas zu doof um es zu starten. (wie gesagt vbs ist noch neuland für mich), wenn ich das script ausführen will bekomm ich gleich die Meldung das in Zeile 1 bei Zeichen 1 ein Fehler ist.

lg hscheip
Bitte warten ..
Mitglied: 76109
01.03.2010 um 16:55 Uhr
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:
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
Bitte warten ..
Mitglied: hscheip
02.03.2010 um 08:14 Uhr
Guten Morgen zusammen, vielen dank jetzt gehts. Ich hatte die "" vergessen zu setzten. Wenn ihr mal in der gegend von Koblenz seit, ein Mittagessen geht auf mich

Lg Holger
Bitte warten ..
Mitglied: 76109
02.03.2010 um 10:16 Uhr
Guten Morgen Holger!

Wow, ein ganzes Mittagessen

Danke für das Angebot. Ein Kaffee oder Cappuccino würde auch genügen

Gruß Dieter
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Per Batch in Aufgabeplanung XLS in CSV umwandeln (21)

Frage von dtbsys zum Thema Batch & Shell ...

XML
gelöst CSV bzw. XLS Dateien in ein XML Schema einbinden (3)

Frage von fisi-flo zum Thema XML ...

Microsoft Office
CSV-Converter deaktiviert Add-ins in Excel (2)

Frage von freeskierchris zum Thema Microsoft Office ...

Microsoft
gelöst PowerShell: CSV in CSV kopieren (3)

Frage von Pludan zum Thema Microsoft ...

Neue Wissensbeiträge
Sicherheits-Tools

Trendmicro OSCE und das Fall Creators Update Win10 RS3

(3)

Information von Henere zum Thema Sicherheits-Tools ...

Microsoft Office

Text in Zahlen umwandeln

Tipp von logische zum Thema Microsoft Office ...

Erkennung und -Abwehr

Infineon TPMs unsicher! Bitlocker ggf. angreifbar

(4)

Information von Lochkartenstanzer zum Thema Erkennung und -Abwehr ...

Firewall

PfSense Repository für Version 2.3.x

(6)

Information von Dobby zum Thema Firewall ...

Heiß diskutierte Inhalte
Microsoft Office
ICH BIN AM ENDE MEINES IT-WISSENS ANGELANGT!!!! (38)

Frage von 134537 zum Thema Microsoft Office ...

Windows Server
gelöst Gruppenrichtlinie greift nicht zu! (23)

Frage von Syosse zum Thema Windows Server ...

Hosting & Housing
Mailserver Software Empfehlungen (21)

Frage von sunics zum Thema Hosting & Housing ...