我在使用Apache poi 3.9正确格式化单元格时遇到问题。我的桌子上有一些英语和一些阿拉伯文字,因此我需要使用以下命令将某些单元格的阅读顺序从右到左设置ExtendedFormatRecord.setReadingOrder(2);
doc
HSSFCellStyle创建与HSSFCellStyle(short index, ExtendedFormatRecord rec, HSSFWorkbook workbook)
shown here
问题是,构造函数受到保护,并且该类是最终的。所以我不能扩展它。是否可以将单个单元的阅读顺序设置为从右到左?我不需要将工作表的样式设置为rtl。而且这不能解决问题。
最佳答案
这就是反射的工作方式。
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);