Apache-HSSF 对文档的修改读取及写入是怎么样的
发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,Apache-HSSF 对文档的修改读取及写入是怎么样的,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。一、HSSF概述H
千家信息网最后更新 2025年12月03日Apache-HSSF 对文档的修改读取及写入是怎么样的
Apache-HSSF 对文档的修改读取及写入是怎么样的,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
一、HSSF概述
HSSF 是Horrible SpreadSheet Format的缩写,通过HSSF,你可以用纯Java代码来读取、写入、修改Excel文件。HSSF 为读取操作提供了两类API:usermodel和eventusermodel,即"用户模型"和"事件-用户模型"。
二、poi excel文档结构
HSSFWorkbook excel文档对象
HSSFSheet excel的sheet
HSSFName 名称
HSSFHeader sheet的头
HSSFRowexcel 的行
HSSFFooter sheet的尾
HSSFCell excel的单元格
HSSFCellStyle cell的样式
HSSFFont excel 字体
HSSFDataFormat 日期格式
三、导入excel
//excel文件位置String readfilePath="f:\\2019-04-23 22_53_44____.xls";//创建对excel文件的引用HSSFWorkbook workbook=new HSSFWorkbook(new FileInputStream(readfilePath))//获取sheet 第一个HSSFSheet sheet=workbook. getSheetAt(0);//获取其中一行cellHSSFRow row=sheet.getRow(1);//获取行结束位置int colCount=sheet.getRow(0).getLastCellNum();//遍历for(int j=1;j常用api导入
//获取sheet数目Int sheetCount=workbook.getNumberOfSheets();//取得有效行数Int rowCount=sheet.getLastRowNum();//获得一行有效单元格个数Int cellCount=row.getLastCellNum();//值类型读写cell.setCellType(HSSFCell.CELL_TYPE_STRING); //设置单元格为STRING类型 cell.getNumericCellValue();//读取为数值类型的单元格内容 /*读取注意cell是什么类型 string or 数值*/四、导出excel
//设置excel存放文件位置public static String writefilePath="f:\\test.xls";//创建excel文件HSSFWorkbook workbook=new HSSFWorkbook();//创建sheet 第一个HSSFSheet sheet=workbook. createSheet("创建的第一个sheet");//创建一行cellHSSFRow row=sheet.createRow(0);//模拟数据在一行显示String[] testTitle={"课程","学期","院系","开课院系","专业","班级"};//遍历生成一行cellfor(int j=0;j导出excel常用api
//1.设置列宽,行高 sheet.setColumnWidth((short)column,(short)width); row.setHeight((short)height); //2.添加区域,合并单元格 Region region = new Region(rowFrom,columnFrom,rowTo ,columnTo);//合并从第rowFrom行columnFrom列 sheet.addMergedRegion(region);// 到rowTo行columnTo的区域 //得到所有区域 sheet.getNumMergedRegions()//3.设置单元格边框格式 HSSFCellStyle style = wb.createCellStyle(); style.setBorderBottom(HSSFCellStyle.BORDER_DOTTED);//下边框 style.setBorderLeft(HSSFCellStyle.BORDER_DOTTED);//左边框 style.setBorderRight(HSSFCellStyle.BORDER_THIN);//右边框 style.setBorderTop(HSSFCellStyle.BORDER_THIN);//上边框 //单元格的合并 sheet.addMergedRegion(new CellRangeAddress(0, 4, 0, 2));本示例为合并4行2列 //4、设置字体和内容位置 HSSFFont f = wb.createFont(); f.setFontHeightInPoints((short) 11);//字号 f.setBold(true);//加粗 style.setFont(f); style.setAlignment(HorizontalAlignment.CENTER); HSSFDataFormat df = wb.createDataFormat(); style1.setDataFormat(df.getFormat("0.00%"));//设置单元格数据格式 cell.setCellFormula(string);//给单元格设公式 style.setRotation(short rotation);//单元格内容的旋转的角度 //5.对角线设置 通过画线的方式 HSSFPatriarch patriarch = sheet.createDrawingPatriarch(); HSSFClientAnchor a = new HSSFClientAnchor(0, 0, 1023, 255, (short)7, 0, (short)7, 2); HSSFShapeGroup group = patriarch.createGroup(a); group.setCoordinates(0, 0, 320, 276); float verticalPointsPerPixel = a.getAnchorHeightInPoints(sheet) / Math.abs(group.getY2() - group.getY1()); EscherGraphics g = new EscherGraphics(group, workbook, Color.black, verticalPointsPerPixel); EscherGraphics2d g2d = new EscherGraphics2d(g); g2d.drawLine(0, 0, 320, 276);//6、插入图片 HSSFPatriarch patriarch = sheet.createDrawingPatriarch();//插入圖片 ByteArrayOutputStream byteArrayOut = new ByteArrayOutputStream(); BufferedImage bufferImg = ImageIO.read(new File("f:\\downloadfile-14.jpg")); ImageIO.write(bufferImg,"jpg",byteArrayOut); //设置位置 HSSFClientAnchor anchor = new HSSFClientAnchor(0, 0, 1023, 255, (short) 0, 0, (short) 11, 11); // 插入图片 patriarch.createPicture(anchor, workbook.addPicture(byteArrayOut.toByteArray(), HSSFWorkbook.PICTURE_TYPE_JPEG)); // 6.创建页眉和页脚 HSSFSheet sheet = workbook.createSheet("Test");// 创建工作表(Sheet) HSSFHeader header =sheet.getHeader();//得到页眉 header.setLeft("页眉左边"); header.setRight("页眉右边"); header.setCenter("页眉中间"); HSSFFooter footer =sheet.getFooter();//得到页脚 footer.setLeft("页脚左边"); footer.setRight("页脚右边"); footer.setCenter("页脚中间");看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。
单元
文件
一行
位置
页眉
类型
文档
区域
右边
格式
边框
有效
内容
图片
字体
常用
数值
数据
模型
用户
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
时序数据库国内外
参加网络安全专业技术资格考试
access联合数据库
手机软件开发实训报告小结
国外独立服务器
徐汇区通保通信网络安全防护培训
河南服务器机柜报价表
2k20 服务器关了吗
数据库课后题第六版
ef支持的数据库
劳动局网络技术
宝山区营销软件开发诚信为本
中国农业数据库由谁管
派出所自身开展网络安全检查
广深高速服务器
周口网络技术参数
简单重复序列分析数据库
牛虻小说软件开发
公司网络安全防护小知识
梦幻手游怎么删除服务器中的角色
搜达足球国足数据库
数据库表锁死怎么处理
深圳宝安软件开发招聘
安卓连接数据库的技术
服务器设计行业
在数据库中搜索的快捷键
如何让服务器更好识别硬盘
idea社区版可以连接数据库吗
辽宁大规模软件开发供应商
计算机二级广东数据库