Apache-HSSF 对文档的修改读取及写入是怎么样的
发表于:2025-02-04 作者:千家信息网编辑
千家信息网最后更新 2025年02月04日,Apache-HSSF 对文档的修改读取及写入是怎么样的,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。一、HSSF概述H
千家信息网最后更新 2025年02月04日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安全错误
数据库的锁怎样保障安全
宜都市软件开发设计
机电系统网络安全论文
网络安全法规定多少日拘留
软件开发都开发的什么软件
二B二T的服务器地址
电脑插头和服务器插头是什么
高端手机网络安全吗
服务器怎么设置网站安全
数据库主关键字怎么
郑州展硕网络技术服...
数据库技术的内涵和外延
如何远程重启机房服务器
培训网络安全哪家好点
零基础学C语言软件开发知乎
无线网络安全风险低
大话手游情系今生有几个服务器
广州win10服务器托管
bs架构中中数据库服务器
数据库技术可以从事哪些行业
实用网络技术考试答案
为什么转行做软件开发
公安局网络安全员报名
数据库技术课程设计注意事项
名爵6互联网登录服务器异常
鄞州小型企业服务器
搭建kms激活服务器
数据库登录用户数
数据库技术实训教程考试卷子
阿里云云服务器文件管理
无锡软件开发联系方式