poi对excel的基本读写操作
来源:互联网 发布:淘宝买东西后退款bug 编辑:程序博客网 时间:2024/04/26 22:02
最近简单的弄了下poi对excel的应用,为方便自己以后的使用就把一些基本操作记录下来,其他更复杂的操作可以等以后有需求的时候再来深入了解一番!
写操作:
/** * * 层次结构就是workbook-->Sheet-->Row-->Cell * 只要按照这种层次结构操作就不会有什么大的问题 * @author Administrator * */public class Test1 {public static void main(String args[]) throws IOException {//HSSFWorkbook对应的是2003//XSSFWorkbook对应的是2007//对于03和07它们的操作都是差不多的,只是在需要用07的时候把相应的HSSF前缀改成XSSF前缀就可以了//第一步建一个工作簿,即workbookWorkbook workbook = new HSSFWorkbook();//第二步建一个工作表单,急sheetSheet sheet = workbook.createSheet("mysheet1");for (int i=0;i<5;i++) {//有了表单以后就是行Row了,Row row = sheet.createRow(i);for (int j=0;j<5;j++) {//有了row以后就是row上的一个个小的单元格了Cell cell = row.createCell(j);//给单元格添加内容cell.setCellValue("row"+(i+1)+",column"+(j+1));}}//建一个用于存放新建的excel的文件输出流OutputStream os = new FileOutputStream("file/test1.xls");//把形成的workbook写到一个输出流里面workbook.write(os);os.close();}}
读操作:
public class Test4 {public static void main(String args[]) throws IOException {InputStream is = new FileInputStream("file/test1.xls");Workbook wb = new HSSFWorkbook(is);Sheet sheet = wb.getSheetAt(0);// 因为Row,Cell,Sheet都继承了java.lang.Iterator接口,所以可以用下面的方法来进行遍历for (Row row : sheet) {for (Cell cell : row) {int cellType = cell.getCellType();switch (cellType) {//在取数据的时候类型一定要取对,否则将抛出异常case Cell.CELL_TYPE_STRING:String str = cell.getRichStringCellValue().getString();System.out.println(str);// 对取得的数据的简单处理;break;case Cell.CELL_TYPE_BLANK:if (DateUtil.isCellDateFormatted(cell)) {System.out.println(cell.getDateCellValue());} else {System.out.println(cell.getNumericCellValue());}break;case Cell.CELL_TYPE_FORMULA:System.out.println(cell.getCellFormula());break;case Cell.CELL_TYPE_BOOLEAN:System.out.println(cell.getBooleanCellValue());break;default:System.out.println("---------------------");break;}}}//当然还可以这样来遍历//row是从1开始的,cell是从头0开始的,但是在创建的时候它们都是0-based;for (int i=0;i<sheet.getLastRowNum()+1;i++) {Row row = sheet.getRow(i);if (row==null)continue;for (int j=0;j<row.getLastCellNum();j++) {Cell cell = row.getCell(j);if (cell==null)continue;//在取数据的时候数据类型一定要取对,否则将抛出异常,like NumberFormatExceptionSystem.out.println(cell.getStringCellValue());}}is.close();}}
合并单元格:
public static void main(String args[]) throws IOException {Workbook wb = new HSSFWorkbook();Sheet sheet = wb.createSheet("sheet1");Row row = sheet.createRow(1);Cell cell = row.createCell(1);cell.setCellValue("a test of merge!");//执行合并操作的语句sheet.addMergedRegion(new CellRangeAddress(1,// 开始行1,// 结束行1,// 开始列3// 结束列));OutputStream os = new FileOutputStream("file/test3.xls");wb.write(os);os.close();}
换行:
public static void main(String args[]) throws IOException {Workbook wb = new HSSFWorkbook();Sheet sheet = wb.createSheet();Row row = sheet.createRow(6);sheet.autoSizeColumn(2);for (int i=0;i<5;i++) {Cell cell = row.createCell(i+2);CellStyle style = wb.createCellStyle();//to set cell newLine should set its wrap truestyle.setWrapText(true);//利用\n来实现换行操作,只有在Cell设置为setWrapText(true)的时候才能实现人为的换行cell.setCellValue("just use \n to wrap in a cell!");cell.setCellStyle(style);}OutputStream os = new FileOutputStream("file/test6_newLine.xls");wb.write(os);os.close();System.out.println("----------------------------");}
画图:
//drawing shapes/* * To create a shape you have to go through the following steps: 1.Create the patriarch.2.Create an anchor to position the shape on the sheet.3.Ask the patriarch to create the shape.4.Set the shape type (line, oval, rectangle etc...)5.Set any other style details converning the shape. (eg: line thickness, etc...) */HSSFPatriarch partriarch = (HSSFPatriarch) sheet5.createDrawingPatriarch();HSSFSimpleShape shape = partriarch.createSimpleShape(new HSSFClientAnchor(0,0,0,0,(short)3,3,(short)5,5));shape.setShapeType(HSSFSimpleShape.OBJECT_TYPE_OVAL);//shape可以设置很多的属性shape.setFillColor(255,200,200);shape.setLineStyle(HSSFSimpleShape.LINESTYLE_DASHGEL);//Text boxes are created using a different call:
0 0
- poi对excel的基本读写操作
- Poi对Excel的基本读写操作
- poi对excel的基本读写操作
- java之poi操作excel-基本的excel读写操作
- POI对Excel的读写
- 使用POI来实现对Excel的读写操作
- POI对Excel进行读写操作
- POI 对excel表格基本操作Demo
- POI对Excel的操作
- java poi 对excel的读写
- 通过对POI组件,实现对Excel表格合并的读写操作
- java-使用POI对Excel进行读写操作
- 简述POI对Excel读写
- 用POI导出Excel的基本操作
- 用POI分装对excel的操作
- apache POI 对Excel表的操作
- java poi对excel的操作详解
- POI对报表excel操作的总结
- 后台动态添加布局文件、控件与动态设置属性
- struts2访问WEB元素
- Hibernate继承策略
- ie和firefox中通用的设置div最小高度和达到这一最小高度后自适应的css代码
- 用.htaccess实现二级域名功能
- poi对excel的基本读写操作
- itext生成pdf文件的HelloWorld
- BeanUtils的用法
- win764位_java连接access数据库
- 第一个 Ajax 入门实例
- Java原型模式之浅拷贝-深拷贝
- 使用JFreeChart报javax.xml.parsers.ParserConfigurationException
- 小白学phoneGap《构建跨平台APP:phoneGap移动应用实战》连载三(通过实例来体验生命周期)
- Audio笔记之PlaybackThread::threadLoop