java excel 单元格 斜线_POI实现excel单元格画斜线
//工具类
public class PoiUtil {
public static final int PERCENT_WIDTH = 50;
public static final int PERCENT_HEIGHT = 20;
public static final float PXTOPT = 0.75f;
// draw cell line
/**
* @param sheet 页签
* @param i 行
* @param j 列
* @param width 单元格宽度
* @param height 单元格高度
*/
public static void drawLine(HSSFSheet sheet, int i, int j, int width, int height) {
int cellWidth = (int) (PERCENT_WIDTH * PXTOPT * width);
short cellHeight = (short) (PERCENT_HEIGHT * PXTOPT * height);
HSSFPatriarch patriarch = sheet.createDrawingPatriarch();
HSSFClientAnchor a = new HSSFClientAnchor(0, 0, 1023, 255, (short) j, i, (short) (j), i);
HSSFShapeGroup group = patriarch.createGroup(a);
float verticalPointsPerPixel = a.getAnchorHeightInPoints(sheet);
EscherGraphics g = new EscherGraphics(group, sheet.getWorkbook(), Color.black,
verticalPointsPerPixel);
EscherGraphics2d g2d = new EscherGraphics2d(g);
int[] xys = {width, height};
for (int l = 0; l < xys.length; l += 2) {
int x = (int) ((PERCENT_WIDTH * 0.75 * xys[l] / cellWidth) * 1023);
int y = (int) ((PERCENT_HEIGHT * 0.75 * xys[l + 1] / cellHeight) * 255);
//g2d.drawLine(0, 0, x, y); 左上右下
g2d.drawLine(0, y, x, 0);
}
}
public static HSSFCellStyle getCellFormat(HSSFWorkbook wb) {
HSSFCellStyle cellStyle = wb.createCellStyle();
if (cellStyle.getBorderBottom() != HSSFCellStyle.BORDER_THIN) {
cellStyle.setBorderBottom(HSSFCellStyle.BORDER_THIN);
}
if (cellStyle.getBorderLeft() != HSSFCellStyle.BORDER_THIN) {
cellStyle.setBorderLeft(HSSFCellStyle.BORDER_THIN);
}
if (cellStyle.getBorderTop() != HSSFCellStyle.BORDER_THIN) {
cellStyle.setBorderTop(HSSFCellStyle.BORDER_THIN);
}
if (cellStyle.getBorderRight() != HSSFCellStyle.BORDER_THIN) {
cellStyle.setBorderRight(HSSFCellStyle.BORDER_THIN);
}
cellStyle.setBottomBorderColor(createPette(wb));
cellStyle.setLeftBorderColor(createPette(wb));
cellStyle.setRightBorderColor(createPette(wb));
cellStyle.setTopBorderColor(createPette(wb));
return cellStyle;
}
public static short createPette(HSSFWorkbook wb) {
short petteIndex = 0;
Color rgb = new Color(0x00, 0x00, 0x00);
HSSFPalette palette = wb.getCustomPalette();
palette.setColorAtIndex(petteIndex, (byte) rgb.getRed(), (byte) rgb.getGreen(), (byte) rgb
.getBlue());
return petteIndex;
}
//调用地:
//sheet0操作页签,i行号,j列号,cell0当前单元格(通过row0获得),row0当前行(通过sheet0获得)
PoiUtil.drawLine(sheet0, i, j, sheet0.getColumnWidth(cell0.getColumnIndex()), row0.getHeight());
效果:
java excel 单元格 斜线_POI实现excel单元格画斜线相关推荐
- java excel单元格背景色_POI 设置Excel单元格背景色(setFillForegroundColor)
背景介绍: 使用Java开发信息系统项目,项目中往往会涉及到报表管理部分,而Excel表格首当其冲称为最合适的选择,但是对单元格操作时对于设置单元格的背景颜色却很少提及,本文旨在方便单元格背景颜色设计 ...
- hssfrow 单元格样式_POI设置Excel单元格样式
POI中可能会用到一些需要设置EXCEL单元格格式的操作小结: 先获取工作薄对象: HSSFWorkbook wb = new HSSFWorkbook(); HSSFSheet sheet = wb ...
- java excel 导入 加校验_POI实现excel各种验证和导入的思路总结
制定标准 导入总是与导出相辅相成的,无规矩不成方圆.所谓的标准都是大家一同来维护和遵守的,那么首先就是制定一个模板. 这样可以减少验证的工作量. 例如时间的规范[yyyy-MM-dd],获取单元格的时 ...
- java poi 加粗居中_poi生成excel整理(设置边框/字体/颜色/加粗/居中/)
HSSFWorkbook wb = new HSSFWorkbook(); HSSFSheet sheet = wb.createSheet(); HSSFCellStyle setBorder = ...
- java导出excel居中不生效_POI 导出Excel 设置内容居中 换行
表头设置: HSSFWorkbook workbook = new HSSFWorkbook(); HSSFSheet sheet = workbook.createSheet("导出数据& ...
- hssfrow 单元格样式_poi的各种单元格样式以及一些常用的配置
之前我做过一个poi到处excel数据的博客,但是,后面使用起来发现,导出的数据单元格样式都不对. 很多没有居中对齐,很多单元格的格式不对,还有就是单元格的大小不对,导致数据显示异常,虽然功能可以使用 ...
- excel单元格斜线_怎么在excel中画斜线?怎么在excel表格中画斜线?
在excel表格中画斜线的技巧教程: 1.在Excel中打开一个空白工作簿. 2.您可以在任何大小的单元格中执行此操作,但是如果先将其增大则更容易理解.为此,我们只需单击并按住第1行和第2行之间的线, ...
- excel单元格斜线_掌握Excel的这个制表技巧,“小白老师”也能变“超神”!
在Excel表格的制作中,相信老师们都经常会碰到需要使用斜线的情况,由于Excel软件中没有自带"绘制斜线表头"的功能,很多老师对此无比头疼,其实,在Excel中有很多方法可以制作 ...
- java excel 边框_【web开发】☆★之利用POI操作Excel表格系列教程【9】单元格边框处理...
[web开发]☆★之利用POI操作Excel表格系列教程[9]单元格边框处理 package csg.xiaoye.poidemo; import java.io.FileOutputStream; ...
- excel@表格斜线和内容填充@单元格大小调整
文章目录 excel@表格斜线和内容填充@单元格大小调整 绘制斜线 单斜线 设置任意斜线 输入内容 单元格内换行 单元格大小调整 excel@表格斜线和内容填充@单元格大小调整 excel的表格斜线制 ...
最新文章
- 派生类的继承方式【C++继承】
- java基础学习(一)hashcode
- robotframework笔记5
- 新特性:postgresql的vacuum漫谈
- Ubuntu 安装 Redis (非源码Build方式)
- #ifdef __cplusplus extern C { #endif”的定义
- C++控制CPU核的使用
- 打印html文件都是空白页,我打印时的额外空白页面(IE中除外) – 是我的打印css吗?...
- Android自定义动画之实现3D翻转的动画
- K8s 使用helm 安装 EFK和ELK分布式日志分析系统系列(es版本:6.7.0;)
- springboot集成ureport2
- ZEMAX | 在OpticStudio中建立扩增实境(VR)头戴式显示器
- 信道滤波带宽,信号带宽,频率误差的关系
- 又一家初创公司获得数千万融资进军边缘计算赛道!
- 订单拆单-产品逻辑分析研究
- 博学而笃志,切问而近思,仁在其中矣
- 粥 淡薄之中滋味长
- vue 中嵌入iframe页面
- GitHub使用教程详细图解
- php ecb加密,PHP使用TripleDes,PKCS7和ECB加密/解密
热门文章
- MVX-Net | 多模型三位像素网络用于3D目标检测
- 仿新浪微博布局学习——妙用TabHost
- 在 CSDN 官宣了,二哥要和华为大佬一起创业了!也许以后洛阳的小伙伴回乡又多了一个选择!
- 计算机重启后打印机无法连接不上,共享打印机电脑重启就无法连接怎么办
- 论文篇-----高速公路交通流数据质量控制及评价方法
- 业务部门战略规划与支撑部门战略规划
- 【BZOJ4199】【NOI2015】品酒大会(后缀数组)
- windows连接局域网打印机出现0x0000007c错误处理方法
- 英语四六级考试系统+爬虫获取试题的系统(数据库设计)的开发思路
- 神经网络发展的三个阶段,人工神经网络的发展