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

@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();
运行后的效果图:

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

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

          //创建Excel
		Workbook 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();
运行后的效果图:

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

需要jar包:


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

你可能感兴趣的:(Excel)