POI开发:Java中的Excel相关操作
Posted guobin-
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了POI开发:Java中的Excel相关操作相关的知识,希望对你有一定的参考价值。
配置变量如下:
CLASSPATH:
PATH:
向后添加一行:
(3)、配置完成
2、在eclipse中导入POI包:
(1)、下载POI:
POI下载地址:http://poi.apache.org/download.html
文件目录结构:
(2)、导入POI:
将所需jar包放入lib中:
Build Path-》Configure Build Path...
三、示例代码:
1、创建新的工作簿:
package com.gb.test; import java.io.*; import org.apache.poi.ss.usermodel.*; import org.apache.poi.xssf.usermodel.XSSFWorkbook; public class create public static void main(String[] args) throws Exception //新建工作簿 XSSFWorkbook newExcel = new XSSFWorkbook();
//新建流 FileOutputStream out = new FileOutputStream(new File("newExcel.xlsx"));//写入 newExcel.write(out); out.close(); System.out.println("创建成功");
运行截图:
此时新建的工作簿是空的,无法打开,需要新建电子表。
2、新建电子表
package com.gb.test; import java.io.*; import org.apache.poi.ss.usermodel.*; import org.apache.poi.xssf.usermodel.XSSFWorkbook; public class create public static void main(String[] args) throws Exception //新建工作簿 XSSFWorkbook newExcel = new XSSFWorkbook(); //新建流 FileOutputStream out = new FileOutputStream(new File("newExcel.xlsx"));
//新建电子表 Sheet sheet = newExcel.createSheet("sheet1");
//写入 newExcel.write(out); out.close(); System.out.println("电子表创建成功");
运行截图:
3、新建行
package com.gb.test; import java.io.*; import org.apache.poi.ss.usermodel.*; import org.apache.poi.xssf.usermodel.XSSFWorkbook; public class create public static void main(String[] args) throws Exception //新建工作簿 XSSFWorkbook newExcel = new XSSFWorkbook(); //新建流 FileOutputStream out = new FileOutputStream(new File("newExcel.xlsx")); //新建电子表 Sheet sheet = newExcel.createSheet("sheet1");
//新建行 Row row = sheet.createRow(0); //第1个单元格赋值为"test" row.createCell(0).setCellValue("test");
//写入 newExcel.write(out); out.close(); System.out.println("数据添加成功");
运行截图:
创建单元格:
Cell cell = row.createCell(0);
4、文件内容读取
package com.gb.test; import java.io.*; import org.apache.poi.ss.usermodel.*; import org.apache.poi.xssf.usermodel.XSSFWorkbook; public class read public static void main(String[] args) throws Exception //新建流 FileInputStream in = new FileInputStream(new File("newExcel.xlsx")); //工作簿 XSSFWorkbook newExcel = new XSSFWorkbook(in); //新建电子表 Sheet sheet = newExcel.getSheetAt(0); //新建行 Row row = sheet.getRow(0); String test=row.getCell(0).toString(); in.close(); System.out.println("数据读取成功"); System.out.println(test);
运行截图:
5、修改单元格样式
package com.gb.test; import java.io.*; import org.apache.poi.hssf.usermodel.*; import org.apache.poi.hssf.util.HSSFColor; import org.apache.poi.ss.usermodel.*; import org.apache.poi.xssf.usermodel.*; public class style public static void main(String[] args) throws Exception //新建流 FileInputStream in = new FileInputStream(new File("newExcel.xlsx")); //工作簿 XSSFWorkbook newExcel = new XSSFWorkbook(in); //获取第一个电子表 Sheet sheet = newExcel.getSheetAt(0); //获取第一行 Row row = sheet.getRow(0); //获取第一个单元格 Cell cell=row.getCell(0);
//新建样式 XSSFFont font=newExcel.createFont(); //设置字体 font.setFontName("宋体"); //设置字体大小 font.setFontHeightInPoints((short) 16); //粗体显示 //设置单元格样式 XSSFCellStyle style = newExcel.createCellStyle(); style.setFont(font); cell.setCellStyle(style);
//新建流 FileOutputStream out = new FileOutputStream(new File("newExcel.xlsx")); //写入 newExcel.write(out); out.close(); System.out.println("样式设置成功");
运行截图:
文字方向:
style.setRotation((short) 90);
从左向右为x轴,逆时针旋转的度数则为文字旋转度数。
四、可能出现的错误:
1、java.lang.NoClassDefFoundError: org/apache/commons/collections4/ListValuedMap这一类的错误。
错误原因:
缺乏需要的jar包,必要的jar没有导全。
以上是关于POI开发:Java中的Excel相关操作的主要内容,如果未能解决你的问题,请参考以下文章
Java读取Hbase数据,使用POI操作Excel模板,并定时发送带有Excel附件的邮件