Apache POI用希腊语读取excel xlsx

时间:2013-01-16 15:50:44

标签: java character-encoding apache-poi

有很多主题如何阅读XLSX文件和写入文件,它们适用于我,但不适用于希腊语(只是示例)单词。 Excel看起来像这样:

srcid   city    county
00008   ΠΑΤΡΑ   ΑΧΑΪΑΣ
00008   ΠΑΛΛΗΝΗ ΑΤΤΙΚΗΣ
00008   ΠΑΤΡΑ   ΑΧΑΪΑΣ

当我读到这篇文章时,我得到了????哪个城市和县。 我尝试了不同的示例:ToCSVXLSX2CSV

charset有问题,但我不知道是什么。 我使用UTF-8编码更新了示例,但没有运气。

我正在使用这个依赖项:              org.apache.poi         POI         3.9     

<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi-ooxml</artifactId>
    <version>3.9</version>
</dependency>

<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>ooxml-schemas</artifactId>
    <version>1.1</version>
</dependency>

<dependency>
    <groupId>org.apache.xmlbeans</groupId>
    <artifactId>xmlbeans</artifactId>
    <version>2.5.0</version>
</dependency>
<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>openxml4j</artifactId>
    <version>1.0-beta</version>
</dependency>
 <dependency>
    <groupId>dom4j</groupId>
    <artifactId>dom4j</artifactId>
    <version>1.6.1</version>
</dependency>   

请帮忙。我找不出有什么问题。也许是这个系统编码的东西?

1 个答案:

答案 0 :(得分:2)

ToCSV.saveCSVFile使用FileWriter,它使用默认的平台编码。而是做:

bw = new BufferedWriter(
        new FileOutputStreamWriter(new FileOutputStream(file), "UTF-8"));

(然后它总是UTF-8。)