上次已经为大家简述过java中Excel字体的设置,背景和纹理的操作,今天继续为大家介绍与Excel有关的知识。今天要简述的就是java中Excel设置宽高怎么做?以及单元格的日期怎么判断?一起来看看吧。
一、首先为大家介绍的是,在java中Excel的宽度和高度的设置。如下。HSSFSheet sheet = workbook.createSheet("Test"); // 创建工作表(Sheet)
HSSFRow row = sheet.createRow(1);
HSSFCell cell = row.createCell(1);
cell.setCellValue("123456789012345678901234567890");
sheet.setColumnWidth(1, 31 * 256); //设置第一列的宽度是31个字符宽度
row.setHeightInPoints(50); //设置行的高度是50个点
在上面可以看出一个奇怪的点,setColumnWidth的第二个参数要乘以256,这是为什么?其实,原因是这个参数的单位是1/256个字符宽度,也意味着把B列的宽度设置为了31个字符。
另外设置行高使用HSSFRow对象的setHeight和setHeightInPoints方法,它们的区别在于setHeightInPoints的单位是点,而setHeight的单位是1/20个点,也也意味着setHeight的值永远是setHeightInPoints的20倍。
所以可以使用HSSFSheet.setDefaultColumnWidth、HSSFSheet.setDefaultRowHeight和HSSFSheet.setDefaultRowHeightInPoints方法来设置默认的列宽或者行高。
二、再来判断单元格是否为日期
判断单元格是否为日期类型,使用的是DateUtil.isCellDateFormatted(cell)方法,举例说明。HSSFCell cell = row.createCell(1);
cell.setCellValue(new Date()); //设置日期数据
System.out.println(DateUtil.isCellDateFormatted(cell)); //输出:false
HSSFCellStyle style = workbook.createCellStyle();
style.setDataFormat(HSSFDataFormat.getBuiltinFormat("m/d/yy h:mm"));
cell.setCellStyle(style); //设置日期样式
System.out.println(DateUtil.isCellDateFormatted(cell)); //输出:true
以上就是关于java中Excel设置宽高以及判断单元格的日期的一些方法了。如果你对java知识感兴趣,想要了解更多java基础以及常见问题,敬请关注奇Q工具网。
推荐阅读: