POI Excel 08 读取重写Excel,单元格中使用\n换行符

来源:互联网 发布:欧洲杯赌球必赢算法 编辑:程序博客网 时间:2024/04/29 03:07

@author YHC

读取Excel和重写Excel

click me!!看创建Excel代码!!!!!<<<<=====创建测试的Excel是POI Excel 02[工作薄中不同类型的单元格]

//初始化输入流InputStream inp = new FileInputStream("D:/workbook.xls");//创建读取对应的文件生成对象    Workbook wb = WorkbookFactory.create(inp);    //得到第0个工作薄    Sheet sheet = wb.getSheetAt(0);    //得到第3行 小标从0开始,所以是2    Row row = sheet.getRow(2);    //得到第三行第4个单元格 4D 小标从0开始所以是三    Cell cell = row.getCell(3);    //查看该单元格是否定义,如果没有定义返回NULL    //,否则返回一个逻辑上的单元格,如果没有则创建    //??为什么需要先判断为空,因为如果该单元格已经    //存在而且已经定义,如果你在创建,原来的单元格    //将会被你重新创建的单元格覆盖,这样做可以节约    //你的空间,因为没有重新创建对象    if (cell == null)        cell = row.createCell(3);    //设置单元格的类型是String字符串文本类型    cell.setCellType(Cell.CELL_TYPE_STRING);    //设定值    cell.setCellValue("a test");    //重新写如文件    FileOutputStream fileOut = new FileOutputStream("D:/workbook.xls");    wb.write(fileOut);    fileOut.close();
运行后的效果图:


单元格中使用\n 换行符:

          //创建ExcelWorkbook wb = new HSSFWorkbook();   //or new XSSFWorkbook();//创建工作薄    Sheet sheet = wb.createSheet();        //创建行    Row row = sheet.createRow(2);    //创建单元格    Cell cell = row.createCell(2);    //设置单元格中的值 使用有\n换行符    cell.setCellValue("Use \n with word wrap on to create a new line");    //如果你需要使用换行符,你需要设置    //单元格的样式wrap=true,代码如下:    CellStyle cs = wb.createCellStyle();    cs.setWrapText(true);    cell.setCellStyle(cs);    //增加行的高度以适应2行文本的高度,设置高度单位(像素)    row.setHeightInPoints((2*sheet.getDefaultRowHeightInPoints()));    //调整该列宽度适应内容     sheet.autoSizeColumn((short)2);        //写入文件    FileOutputStream fileOut = new FileOutputStream("ooxml-newlines.xlsx");    wb.write(fileOut);    fileOut.close();
运行后的效果图:

需要jar包:


以上如果有写错误的地方,请大家指出! thanks!!

原创粉丝点击