这一切都混在了我的脑海,我无法把头缠在它周围。

我有一个必须使用Java解析的excel文件,然后转换为XML。使用jExcel库,我可以完成解析,应用程序可以完成正确的工作,并将正确的字符串放在正确的位置。所以对于解析部分,我已经介绍了。

当我尝试将文件转码为UTF-8时出现问题。

我假设excel文件的编码是ISO-8859-1,但我不确定是否是。然后,在将字符串添加到xml文件之前,请使用此功能。

private static String isoToUtf(String thingie){
        byte[] bytedata = thingie.getBytes() ; // Comes in ISO form, as the character set in the DB is set to ISO

        Charset iso = Charset.forName("ISO-8859-1");
        CharsetDecoder isodecoder = iso.newDecoder();
        ByteBuffer bbuf = ByteBuffer.wrap(bytedata);
        CharBuffer cbuf = isodecoder.decode(bbuf);  // Decode from ISO to UTF-16


        Charset utf8 = Charset.forName("UTF-8");
        CharsetEncoder utf8encoder = utf8.newEncoder();
        ByteBuffer outbuffer = utf8encoder.encode(cbuf);  // Encode from UTF-16 to UTF-8
        return new String(outbuffer.array(), "UTF-8");
    }


但是不知何故,它不起作用。我仍然因腐败而失去一些角色。

另外:我绝对必须以这种方式进行操作,最终必须将其显示在管间。

使用java.io.File类打开excel文件。

最佳答案

对于与我情况相同的任何人,都可以为将使用jExcel库创建的工作簿指定选项。

以下链接是我找到答案的地方。

http://jexcelapi.sourceforge.net/resources/javadocs/2_6_10/docs/index.html

10-02 10:28