Thread Excel Datei einlesen und schreiben mit Umlauten (8 answers)
Opened by Jürgen at 2013-10-21 17:52

Gast Jürgen
 2013-10-21 17:52
#171373 #171373
Hallo Perlgemeinde,

leider muss ich euch wieder einmal um Hilfe bitten.
Und bevor es wieder "Haue" gibt: ja ich habe den Thread "Umlaute" auch gelesen und habe auch die Seite durchgelesen, die genannt wurde als Lektüre.
Trotzdem komm ich nicht weiter oder habe eine "Hinrblockade"... :(

Zum Thema:
Ich lese eine Excel-Datei mit "Spreadsheet::XLSX" ein mein perlscript ein.
Speichere die Werte in einem Array (wie ich es eben brauche)
Danach schreibe ich die Werte in eine neue Excel-Tabelle.
Mein Problem:
ich lese "für" ein - und es wird "für" in der neuen Excel-Dateii ausgegeben :(

Spreadsheet:XLSX basiert ja mM nach auf Spreadsheet::ParseExcel.
Hier heisst es unter "Spreadsheet::ParseExcel::Cell":
"The encoding() method returns the character encoding of the cell.

my $encoding = $cell->encoding();

This method is only of interest to developers. In general Spreadsheet::ParseExcel will return all character strings in UTF-8 regardless of the encoding used by Excel.

The encoding() method returns one of the following values:

0: Unknown format. This shouldn't happen. In the default case the format should be 1.
1: 8bit ASCII or single byte UTF-16. This indicates that the characters are encoded in a single byte. In Excel 95 and earlier This usually meant ASCII or an international variant. In Excel 97 it refers to a compressed UTF-16 character string where all of the high order bytes are 0 and are omitted to save space.
2: UTF-16BE.
3: Native encoding. In Excel 95 and earlier this encoding was used to represent multi-byte character encodings such as SJIS.
"
bei mir wird für den Zellwert die Ziffer "1" zurückgegeben, also für Excel 2013 (xlsx) UTF-16
Mein perlscript erstelle ich mit "geany" und die Datei wird in "UTF-8" abgespeichert
Perl arbeitet intern mit UTF-8
Das Excel in das ich schreibe, interpretiert das, was es bekommt wohl auch als UTF-8

Soweit bin ich gekommen - aber den nächsten Gedankenschritt schaff ich nicht - was muss ich jetzt mit meinem Script machen, damit ich endlich Umlaute "durchreichen" kann :(

Könnt ihr mir da bitte weiterhelfen?

Grüße
Jürgen
Last edited: 2013-10-21 17:56:59 +0200 (CEST)

View full thread Excel Datei einlesen und schreiben mit Umlauten