Java Excel Api 字符编码问题
Java Excel Api character codification issue
我正在开发一个 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
class 和 getting/setting 字符编码的方法,但我不知道如何获取实际的 XLS 源文件编码。有什么想法吗?
谢谢!
prod 是 ASCII
dev 是 UTF-8
WorkbookSettings workbookSettings = new WorkbookSettings();
workbookSettings.setEncoding( "UTF-8" );
Workbook.getWorkbook( theFile, workbookSettings );
我正在开发一个 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
class 和 getting/setting 字符编码的方法,但我不知道如何获取实际的 XLS 源文件编码。有什么想法吗?
谢谢!
prod 是 ASCII dev 是 UTF-8
WorkbookSettings workbookSettings = new WorkbookSettings();
workbookSettings.setEncoding( "UTF-8" );
Workbook.getWorkbook( theFile, workbookSettings );