这一切都混在了我的脑海,我无法把头缠在它周围。
我有一个必须使用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