1. Weiterleitung zu NetzLiving.de
  2. Forum
    1. Unerledigte Themen
  3. zum neuen Forum
  • Anmelden
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

Excel tschechischer Zeichensatz

  • AdiPure
  • 6. Februar 2011 um 12:24
  • Unerledigt
Hallo zusammen,

das Informatik-Forum geht in den Archivmodus, genaue Informationen kann man der entsprechenden Ankündigung entnehmen. Als Dankeschön für die Treue bekommt man von uns einen Gutscheincode (informatikforum30) womit man bei netzliving.de 30% auf das erste Jahr sparen kann. (Genaue Infos sind ebenfalls in der Ankündigung)

Vielen Dank für die Treue und das Verständnis!
  • AdiPure
    Punkte
    50
    Beiträge
    7
    • 6. Februar 2011 um 12:24
    • #1

    Hallo,
    hab folgendes problem, bei dem ich einfach nicht weiter komm. Ich lese aus einem excel file daten ein, funktioniert auch alles wunderbar. Nur hab ich jz in dieser excel datei eine spalte mit tschechischen wörtern in denen z.b.: Ú vorkommt, also Buchstaben mit Hatschek.
    Zum excel file einlesen verwende ich jexcel.
    Habt ihr vl eine ahnung oder einen tipp was ich anders machen muss, damit wenn ich den string wieder auf der konsole oder nachher in einer anderen datei abspeichere die hatscheks nicht verloren gehen, weil daweil hab ich dann lauter ? dort stehen??!?

    Lg
    Danke

  • spinball
    Punkte
    1.192
    Beiträge
    223
    • 6. Februar 2011 um 15:35
    • #2

    Excel verwendet UTF-16LE.

  • polymorph10
    Punkte
    270
    Beiträge
    50
    • 6. Februar 2011 um 15:37
    • #3

    Wird ne Spielerei mit dem Zeichensatz sein, versuch UTF8 zu nutzen, soweit ich dass seh in der Doku bietet Workbook.getWorkbook() eine überladene Variante mit Datei und WorkbookSettings; dort kannst du mit setEncoding etwas angeben. Schreiben analog.

    edit: Dann eben UTF-16LE.

    Einmal editiert, zuletzt von polymorph10 (6. Februar 2011 um 15:46)

  • AdiPure
    Punkte
    50
    Beiträge
    7
    • 8. Februar 2011 um 16:52
    • #4

    danke schon mal, aber das mit dem setEncoding hab ich eh schon verwendet gehabt ;)
    mein Problem dürfte dann aber irgendwie daran liegen, dass ich die Werte der Tabellen in einer ArrayList<String> speichere.
    Hab folgenden Code im inet gefunden, nur wie münz ich dass jz auf mein excel file um.

    PHP
    File users = new File("d:\\ad.csv");
    FileInputStream stream = new FileInputStream (users );
    InputStreamReader reader = new InputStreamReader (stream, "UTF-16LE");
    BufferedReader bufferedReader = new BufferedReader (reader );
    String line = null;
    
    while ((line = bufferedReader.readLine()) != null)
    {
       System.out.println(line);
    }

    Ich lese die Werte aus den Spalten so ein

    PHP
    ArrayList<String> temp = new ArrayList<String>();
    
    
    for (int i = from; i < till; i++) {
      Cell c = sheet.getCell(row, i);
      temp.add(c.getContents());
    }
  • sutupud
    Punkte
    1.659
    Beiträge
    320
    • 8. Februar 2011 um 17:45
    • #5

    warum konvertierst du nicht einfach die csv-datei in ein anderes format, mit dem die library umgehen kann, utf-8 z.b.
    der ursprüngliche post war etwas missverständlich, da war die rede von einem "excel-file" - normalerweise gleichbedeutend mit ".xls". nachdems hier um ein csv dokument geht, sollte das kein problem sein.

  • AdiPure
    Punkte
    50
    Beiträge
    7
    • 8. Februar 2011 um 18:19
    • #6

    nein, das hast du falsch verstanden, bei mir handelt es sich um eine .xls Datei.
    Den Programmteil mit der .csv Datei hab ich nur im Internet gefunden zum Thema Zeichensatz UTF-16LE

  • polymorph10
    Punkte
    270
    Beiträge
    50
    • 8. Februar 2011 um 22:01
    • #7

    ArrayList ist kein Problem, ist völlig belanglos wie dus ablegst.

    Ich habs mal selbst probiert (mit tschechischen Zeichen) und folgendes

    PHP
    Workbook reader = Workbook.getWorkbook(new File("D:\\foo.xls")); 
    List<String> list = new ArrayList<String>();
    list.add(reader.getSheet(0).getCell(0, 0).getContents());
    reader.close(); 
    
    WritableWorkbook writer = Workbook.createWorkbook(new File("D:\\bar.xls")); 
    WritableSheet sheet = writer.createSheet("foobar", 0); 
    
    Label label = new Label(0, 0, list.get(0)); 
    sheet.addCell(label);
    writer.write();
    writer.close();
    Alles anzeigen

    macht eigentlich keine Probleme mit Excel 2007. Man beachte die standardmäßige Nutzung von CP1252 (zumindest hierzulande) aka Westeuropäisch (geht aber genausogut mit UTF-8, etc. via WorkbookSettings). Schau einfach mal nach was Sache ist. Kannst das Problem auch auf Lesen oder Schreiben eingrenzen indem du beim Debuggen nachschaust, ob die Strings korrekt formatiert sind (ohne Fragezeichen).

    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.

    5 Mal editiert, zuletzt von polymorph10 (8. Februar 2011 um 23:49)

  • AdiPure
    Punkte
    50
    Beiträge
    7
    • 9. Februar 2011 um 09:32
    • #8

    Problem besteht schon beim Einlesen.
    Hab dir einmal als Screenshot die Tabelle des ExcelFiles, meinen Aufruf und das Ergebnis des Debug-Outputs angehängt.
    Lg

  • Maximilian Rupp 27. Dezember 2024 um 00:26

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

  1. Datenschutzerklärung
  2. Impressum