情况:我有一个数据表,它显示在jsp页面中,带有utf-8。它没有问题。当我将它导出到Excel时,非英语值看起来很怪异。导出代码:
public class DisplayExcelView extends ExcelView {
public String getMimeType() {
return "application/vnd.ms-excel; charset=utf-8"; //uses the Win-cp1256
}
}
它保存了一个xls文件。当我用doubleclick打开它时
您尝试打开的文件,blabla.xls的文件扩展名格式不同.blabla您想打开文件吗?
如果我点击是;非英语价值看起来很怪异。
但是如果我首先打开Excel 2007并加载DATA / From文本(通过导入.xls文件),Excel会显示一个窗口,其中所选的字符集是UTF-8。选择此项后,非英语字符看起来很完美。
是不是有办法打开双击.xls文件并获得正确的非英文字符?
答案 0 :(得分:0)
您可以使用您想要的任何编码输出到文本文件:
BufferedWriter out =
new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file),"iso-8859-1"));
我选择了iso-8859-1,但这可能不是Excel的默认编码。 它是Java中唯一不属于UTF类型的默认字符集。
如果您需要Windows的其他字符集(不是iso-8859-1或任何utf), 你将不得不看看如何导入这些字符集 java.nio.charset.spi.CharsetProvider(你可能最好使用Google,因为文档不是很有用)。