Java利用POI实现导入导出Excel表格示例代码 - 网站

Java利用POI实现导入导出Excel表格示例代码

分类:Java · 发布时间:2021-11-12 10:32 · 阅读:9684

最近工作中遇到一个需求,是需要导出数据到Excel表格里,所以写个Demo测试一下,还是比较简单的,现在分享给大家,有需要的朋友们可以参考借鉴,下面来一起看看吧。

介绍

Jakarta POI 是一套用于访问微软格式文档的Java API。Jakarta POI有很多组件组成,其中有用于操作Excel格式文件的HSSF和用于操作Word的HWPF,在各种组件中目前只有用于操作Excel的HSSF相对成熟。官方主页http://poi.apache.org/index.html,API文档http://poi.apache.org/apidocs/index.html

实现

已经在代码中加入了完整的注释。

 import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.InputStream; import java.io.OutputStream; import java.util.ArrayList; import java.util.List; import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFCellStyle; import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; public class ExcelOperate { public static void main(String[] args) { // 创建Excel表格 createExcel(getStudent()); // 读取Excel表格 List list = readExcel(); System.out.println(list.toString()); } /** * 初始化数据 * * @return 数据 */ private static List getStudent() { List list = new ArrayList(); Student student1 = new Student("小明", 8, "二年级"); Student student2 = new Student("小光", 9, "三年级"); Student student3 = new Student("小花", 10, "四年级"); list.add(student1); list.add(student2); list.add(student3); return list; } /** * 创建Excel * * @param list *      数据 */ private static void createExcel(List list) { // 创建一个Excel文件 HSSFWorkbook workbook = new HSSFWorkbook(); // 创建一个工作表 HSSFSheet sheet = workbook.createSheet("学生表一"); // 添加表头行 HSSFRow hssfRow = sheet.createRow(0); // 设置单元格格式居中 HSSFCellStyle cellStyle = workbook.createCellStyle(); cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 添加表头内容 HSSFCell headCell = hssfRow.createCell(0); headCell.setCellValue("姓名"); headCell.setCellStyle(cellStyle); headCell = hssfRow.createCell(1); headCell.setCellValue("年龄"); headCell.setCellStyle(cellStyle); headCell = hssfRow.createCell(2); headCell.setCellValue("年级"); headCell.setCellStyle(cellStyle); // 添加数据内容 for (int i = 0; i  readExcel() { List list = new ArrayList(); HSSFWorkbook workbook = null; try { // 读取Excel文件 InputStream inputStream = new FileInputStream("D:/students.xls"); workbook = new HSSFWorkbook(inputStream); inputStream.close(); } catch (Exception e) { e.printStackTrace(); } // 循环工作表 for (int numSheet = 0; numSheet 

附上Student类的代码

 public class Student { private String name; private int age; private String grade; public Student() { } public Student(String name, int age, String grade) { super(); this.name = name; this.age = age; this.grade = grade; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getGrade() { return grade; } public void setGrade(String grade) { this.grade = grade; } @Override public String toString() { return "Student [name=" + name + ", age=" + age + ", grade=" + grade + "]"; } }

测试结果

导出的Excel表格


students

打印读取的Excel数据

 [Student [name=小明, age=8, grade=二年级], Student [name=小光, age=9, grade=三年级], Student [name=小花, age=10, grade=四年级]]

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。

标签:
java poi excel 导入导出

相关文章

Java lombok中@Accessors注解三个属性的作用

这篇文章主要介绍了Java lombok的@Accessors注解属性解析,该注解主要作用是:当属性字段在生成 getter 和 setter 方法时,做一些相关的设置,需要的朋友可以参考下

java项目实现统一打印入参出参等日志

这篇文章主要介绍了java项目实现统一打印入参出参等日志方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

基于jdk动态代理和cglib动态代理实现及区别说明

这篇文章主要介绍了基于jdk动态代理和cglib动态代理实现及区别说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

java如何获得redis所有的key-value

这篇文章主要介绍了java如何获得redis所有的key-value,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

mybatis中的动态sql问题

这篇文章主要介绍了mybatis中的动态sql问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

返回分类 返回首页