从Jxls迁移到Jxls2方法调用

时间:2016-01-22 12:24:19

标签: jxls

我们正在将项目从Jxls 1.x迁移到Jxls 2.2.8。在我们当前的模板中,我们使用Spring MessageSource来使用messageSource.getMessage(" message.key",locale)来本地化报告的标题。它适用于1.x版本,但在2.x版本中,它不会解析消息。

This is our current template

当方法有参数时,消息解析失败,但是当我们调用messageSource对象中的toString()方法时,它会工作并在单元格中打印字符串。

我们班的代码是:

public void convertToXLS(final Map<String, Object> p_model, final InputStream p_template, final OutputStream p_file, final Locale p_locale) throws InvalidFormatException, IOException {
    DeviceEventsDownloadWebModel deviceEventsDownloadWebModel = (DeviceEventsDownloadWebModel) p_model.get("deviceEventsDownloadWebModel");

Context context = new Context();
context.putVar("messageSource", getMessageSource());
context.putVar("locale", p_locale);
context.putVar("deviceEvents", deviceEventsDownloadWebModel.getDeviceEvents());

JxlsHelper.getInstance().processTemplate(p_template, p_file, context);
}

任何解决问题的消化方法?我们也尝试将messageSource设置为一个函数,但它不起作用。

1 个答案:

答案 0 :(得分:0)

解决!我们发现了这个问题。 MessageSource类中的getMessage()方法具有签名:String键,Object []参数,Locale语言环境,我们只传递了2个参数。