Jump to content

Empfohlene Beiträge

Hallo liebe Community,

Ich brauche wiedermal eure Hilfe.

Beim schreiben von ä´s in ein Excelfile mit Powershell, wird das ä als zwei Zeichen erkannt (ä)

 

$objexcel = New-Object -ComObject Excel.Application
$filepath = "$systemfilepath\asdf.xlsx"
$workbook = $objexcel.WorkBooks.Open($filepath)
$worksheet = $workbook.WorkSheets.item(1)
$worksheet.Cells.Item(1,1)= "ä"
$objexcel.Visible = $false
$objexcel.DisplayAlerts = $false
$worksheet.SaveAs($filepath)
$objexcel.Quit()

asdf.xlsx ist einfach nur ein leeres xslx dokument

 

hat jemand eine Idee, an welcher Stelle das Encoding falsch läuft?

Das ganze tat mal, dann hab ich versucht das Problem eines Kollegen nachzuvollziehen, dabei das Output-encoding in meiner Powershell geändert, jetzt gehts halt net mehr

 

edit: Das ganze muss als Excel gemacht werden, das das eigentliche script produktiv als Task eingerichtet werden soll, ein umwandeln von CSVs in Excel ist nicht möglich

 

bearbeitet von wolfrP

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen
vor 16 Minuten schrieb wolfrP:
....  dabei das Output-encoding in meiner Powershell geändert,  ....

Wie macht man denn das? Und warum machst Du das nicht einfach rückgängig, wenn es vorher funktioniert hat?

bearbeitet von BOfH_666

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

weil ich dazu wissen müsste was das encoding davor heist

 

$PSDefaultParameterValues = @{ '*:Encoding' = 'utf-8' }

 

den befehl habe ich mit ein paar encodings durchprobiert, nach einem PC neustart ging das eintragen eines ä nicht mehr

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Ich würd mal 'default' probieren. Ansonsten einfach alle möglichen Encodings mal testen. Sooo viele sind's ja wohl nicht. Funktionierts denn von einem anderen PC, auf dem das Encoding nicht geändert wurde?

 

Edit: Oder das Encoding einfach ganz aus den $PSDefaultParameterValues entfernen.

bearbeitet von BOfH_666

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Erstmal danke für die Tipps

 

Des Rätsels Lösung war:

Visual Studio Code hat in mein powershellskript kein ä, sondern diese Zeichenkombination eingetragen

der Haken bei Zeichensatz automatisch erkennen, kombiniert mit dem Laden des Code als Test in Powershell ISE, hat zum richtigen Weg geführt

 

edit: Das Problem des Exportmoduls ist, das nicht einzelne Felder direkt beschrieben werden können, das Exportmodul ist mehr wie Export-CSV; Leider bei dem sinn des Skript nicht passend

bearbeitet von wolfrP

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden

×