我在使用Apache poi 3.9正确格式化单元格时遇到问题。我的表中有一些英文和一些阿拉伯语文本,因此我需要使用
将读取顺序设置为从右到左的某些单元格 ExtendedFormatRecord.setReadingOrder(2);
doc
使用
创建HSSFCellStyle HSSFCellStyle(short index, ExtendedFormatRecord rec, HSSFWorkbook workbook)
shown here
问题是,构造函数是受保护的,而类是最终的。所以我不能扩展它。是否有可能将读取顺序设置为从右到左的单个单元格?我不需要将工作表的样式设置为rtl。这也不能解决问题。
答案 0 :(得分:0)
这就是它与反射的结合方式。
Constructor<HSSFCellStyle> con = HSSFCellStyle.class.getDeclaredConstructor(short.class,
ExtendedFormatRecord.class, HSSFWorkbook.class);
con.setAccessible(true);
ExtendedFormatRecord eFR = new ExtendedFormatRecord();
short ro = 2;
eFR.setReadingOrder(ro);
short s = 0;
HSSFWorkbook generatedWb = new HSSFWorkbook();
HSSFCellStyle myStyle = con.newInstance(s, eFR, generatedWb);
答案 1 :(得分:0)
您只需使用较新版本的Apache POI!
最新的夜间版本(所以未来3.11 beta 3 / 3.11 final)现在包含您搜索的方法HSSFCellStyle.setReadingOrder(short)