我在使用JExcel时遇到字符编码问题.我的应用程序从模板创建一个excel文档,并在将数据发送给用户之前用数据库中的数据(用当前和以前的会话用户输入填充)填充它.在最后的文件,非ASCII字符从模板如é,è,à,或°不正确呈现(所生成的文档中,它们适当地显示在模板)和由被代替替换?而来自数据库被正确编码.
我使用UTF-8进行用户输入(并输出到查看层)以及数据库存储.
我在生成文件的类中使用此代码:
private void createFile(Arguments...)
throws IOException, BiffException, RowsExceededException, WriteException
{
File XLSFile = new File(MyPath);
WorkbookSettings XLSSettings = new WorkbookSettings()
XLSSettings.setEncoding(Constants.TEMPLATE_ENCODING)
// Constants.java is a class containing only app-wide constants declared as public static final
Workbook template = Workbook.getWorkbook(
new File(Constants.TEMPLATE_PATH));
WritableWorkbook userDocument =
Workbook.createWorkBook(XLSFile,template,XLSSettings);
template.close();
WritableSheet sheet = userDocument.getSheet(0);
...
Code that fills my workbook and sheet by creating new Labels and
adding them to …Run Code Online (Sandbox Code Playgroud) 我正在使用Joda-Time处理应用程序中的日期,但发现自己很困惑。我需要使用两个字符串(一个用于日期,一个用于一天中的小时)生成一个日期。
我通过使用 RegEx 确保了一天中的时间,但仍有一些日期通过我的 RegEx(例如 2 月 30 日)。
我想过在 try 块中使用以下 DateTime 构造(一旦解析了子字符串)
DateTime(
int year,
int monthOfYear,
int dayOfMonth,
int hourOfDay,
int minuteOfHour
)
Run Code Online (Sandbox Code Playgroud)
然后在 catch 块中抛出我函数的 Exception ,但根据api doc,这个构造函数不会IllegalArgumentException像其他一些人那样抛出我期望捕获的异常。
任何人都有任何指针来判断 MoY/DoM 对是否形成有效的一对以便能够抛出异常?