POI的上层API没有提供设置斜线的" />
乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > poi <em>excel</em>导出 <em>单元格斜线</em>实

poi <em>excel</em>导出 <em>单元格斜线</em>实

作者:乔山办公网日期:

返回目录:excel表格制作


先打开一个文本文件,将导出的文件内容复制到文本文件,然后在复制回来就好了。

POI的上层API没有提供设置斜线的函数,你可以研究下它的底层类org.apache.poi.hssf.record.
ExtendedFormatRecord。一个单元格风格(包含对齐、边框、填充图案等等)在Excel文件的实现中由20个字节组成,而ExtendedFormatRecord就是实现对这20个字节操作的类。在第11至14这4个字节共32个比特中,第30和31位(即最高位的两个比特)就是控制斜边框的位,其中第30位控制左上角到右下角的斜线,e68a84e8a2ad7a64339值为1时表示该单元格有此斜线,第31位控制左下角到右上角的斜线,值为1时表示该单元格有此斜线;所以你只要找到能够对这两个比特进行设置的函数,问题就解决了。Excel规定,两条斜线的风格要一致,也就是其粗细、颜色必须一相同,而不能对两条斜线进行单元设置。于是,在第15至18这4个字节的32个比特中,第14至第20的7个比特用于存储斜线的颜色索引,第21至第24的4个比特用于存储斜线的风格(NONE, THIN, MEDIUM, DASHED, DOTTED, THICK等等)。总而言之,只要你在底层类中找到能够操作这三个地方的函数,就可以解决斜线问题了。我找过一下,没找到,哈哈;可能在其它的底层类里面有。希望对你有所帮助。
//上升 和 56 作为两个静态对象输入

Label label = null;
jxl.write.WritableFont wfc = new jxl.write.WritableFont(WritableFont.createFont(cell.getCellFormat().getFont().getName()), cell.getCellFormat().getFont().getPointSize(),
WritableFont.NO_BOLD, false,
UnderlineStyle.NO_UNDERLINE);
jxl.write.WritableCellFormat wcfFC = new jxl.write.WritableCellFormat(wfc);
wcfFC.setAlignment(jxl.format.Alignment.CENTRE);//设置单元格居中7a64e78988e69d83361
if(cell.getContents().toString().equals("56"){
label = new Label(cell.getColumn(), cell.getRow(), cell.getContents());
}else{
label = new Label(cell.getColumn(), cell.getRow(), cell.getContents(),wcfFC);
}

这么牛教我如何用NPOI吧!

相关阅读

关键词不能为空
极力推荐
  • 怎么把EXCEL里面的一排数字搞个自动合计?

  • 竖排数字相加方法:1、打开excel,来如图所示,A列有一列数,现A列的数字要相加求和;2、在A8单元格直接输入=A1+A2+A3+A4+A5+A6+A7,把要相加的单元格直接加起来,然后按enter键就能得出结

聚合标签

ppt怎么做_excel表格制作_office365_word文档_365办公网