1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

Excel tschechischer Zeichensatz

  • AdiPure
  • 6. Februar 2011 um 12:24
  • Unerledigt
  • AdiPure
    3
    AdiPure
    Mitglied
    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
    11
    spinball
    Mitglied
    Reaktionen
    67
    Punkte
    1.192
    Beiträge
    223
    • 6. Februar 2011 um 15:35
    • #2

    Excel verwendet UTF-16LE.

  • polymorph10
    5
    polymorph10
    Mitglied
    Reaktionen
    20
    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
    3
    AdiPure
    Mitglied
    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 :winking_face:
    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
    13
    sutupud
    Mitglied
    Reaktionen
    59
    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.

    "All through my life I've had this strange unaccountable feeling that something was going on in the world, something big, even sinister, and no one would tell me what it was."
    "No," said the old man, "that's just perfectly normal paranoia. Everyone in the Universe has that."

    &#128513;&#128514;&#128515;&#128516;&#128517;&#128518;&#128519;&#128520;&#128521;&#128522;&#128523;&#128524;&#128525;&#128526;&#128527;&#128528;&#128530;&#128531;&#128532;&#128534;&#128536;&#128538;&#128540;&#128542;&#128544;&#128545;&#128546;&#128547;&#128549;&#128552;&#128553;&#128554;&#128555;&#128557;&#128560;&#128561;&#128562;&#128563;&#128565;&#128566;&#128567;

  • AdiPure
    3
    AdiPure
    Mitglied
    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
    5
    polymorph10
    Mitglied
    Reaktionen
    20
    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
    3
    AdiPure
    Mitglied
    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.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

Benutzerkonto erstellen Anmelden

Rechtliches

Impressum

Datenschutzerklärung