Excel到XML,编码问题

这一切都混淆在我的脑海里,我无法把头围住它。

我有一个Excel文件,我必须parsing,使用Java,并翻译成XML。 使用jExcel库,我可以实现parsing,应用程序正确的工作,并把正确的string放在正确的位置。 所以对于parsing部分,我已经覆盖了。

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

我认为excel文件的编码是ISO-8859-1,但我不确定它是否是。 然后,在将我的string添加到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"); } 

不知何故,这是行不通的。 我仍然失去了一些腐败的人物。

另外:我绝对必须这样做,它必须最终显示在音符上。

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

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

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

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