Java Excel Api字符编码问题

时间:2019-06-27 12:35:36

标签: java jexcelapi

我正在开发一个Java应用程序,该应用程序将读取Excel文件并将其写回PDF,并进行一些处理。为了阅读电子表格,我使用了出色的jExcelApi库,这是一段代码摘录:

workbook = Workbook.getWorkbook(new File(fullName));

Sheet sheet = workbook.getSheet(0);

this.data.customer_name = sheet.getCell("B8").getContents();

一切正常,但是我意识到生产机器上的输出与开发机器上的输出是不同的。它与字符编码有关。这是两台计算机上输出文件的示例:

|-------------|-------------|
| Development | Production  |
|-------------|-------------|
| Söderkvist  | S��derkvist |
| Østnes      | ��stnes     |
| Müller      | M��ller     |
|-------------|-------------|

这些机器具有Ubuntu 16.04和17.04,尽管它们并不完全相同,但我在两者中都使用了相同的JRE。我一直在浏览jExcelApi文档,发现一个WorkbookSettings类,该类具有用于获取/设置字符编码的方法,但是我不知道如何获取实际的XLS源文件编码。有什么想法吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

prod为ASCII dev是UTF-8

WorkbookSettings workbookSettings = new WorkbookSettings();
workbookSettings.setEncoding( "UTF-8" );
Workbook.getWorkbook( theFile, workbookSettings );