第一部分:写入xlsx中

使用POI创建一个xlsx文件:

项目结构如下:

具体使用的POI中的

XSSFWorkbook    xlsx对象

Sheet        工作簿对象

Row         行对象

Cell         单元格对象

FileOutputStream   流对象  

代码如下:

 package com.it.poiTest;

 import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map; import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFWorkbook; public class CreateWorkBook {
@SuppressWarnings("unchecked")
public static void main(String[] args) {
//1.xlsx文件对象---可以表示xls和xlsx格式文件的类
XSSFWorkbook workbook = new XSSFWorkbook();
try {
//2.工作簿对象---新创建的xls需要新创建新的工作簿,offine默认创建的时候会默认生成三个sheet
Sheet sheet = workbook.createSheet("first sheet");
/**
* 3.这一截,封装数据
*/
List<Object[]> list = new ArrayList<Object[]>();
list.add(new Object[]{"empId","empName","empAge"});
list.add(new Object[]{"01","小明","18"});
list.add(new Object[]{"02","小犟","12"});
list.add(new Object[]{"03","小够","19"});
list.add(new Object[]{"04","小离","20"});
list.add(new Object[]{"05","小张","30"}); //4.行对象---声明行
Row row;
for(int i=0; i<list.size();i++){
row = sheet.createRow(i);
//5.列对象【单元格对象】---声明列
Object[] obj = list.get(i);
Cell cell = null;
for (int j = 0; j < obj.length; j++) {
cell = row.createCell(j);
cell.setCellValue(obj[j].toString());
}
} //6.未指定具体路径,则自动创建文件在项目下;若指定具体磁盘路径,也可以
FileOutputStream out = new FileOutputStream("createWorkBook.xlsx");
//7.将此xlsx文件以流的形式写出
workbook.write(out);
//8.关闭流
out.close();
System.out.println("createWorkBook success");
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} }
}

第二部分:从xlsx文件中读取到项目中

代码如下:

 package com.it.poiTest;

 import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List; import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook; public class GetWorkBook { public static <E> void main(String[] args) {
//1。前三步获取xlsx文件对象
File file = new File("createWorkBook.xlsx");
try {
//2.
FileInputStream in = new FileInputStream(file);
//3。
XSSFWorkbook workbook = new XSSFWorkbook(in);
//4.获取工作簿对象
Sheet sheet = workbook.getSheetAt(0);
//Sheet sheet1 = workbook.getSheet("first sheet"); 效果一样
//5.迭代取出数据
Iterator<Row> rowItera = sheet.iterator();
List<Object[]> list =(List<Object[]>) new ArrayList<E>();
Row row;
while(rowItera.hasNext()){
row = rowItera.next();
Iterator<Cell> cellItera = row.cellIterator();
Cell cell;
while(cellItera.hasNext()){
cell = cellItera.next();
//6.打印
System.out.print(cell.getStringCellValue() + " ");
}
System.out.println("\n");
} } catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
} }

最新文章

  1. SparkConf加载与SparkContext创建(源码阅读四)
  2. Extjs布局
  3. linux系统非ROOT用户80端口不能启动tomcat问题的变通办法——通过Iptables端口转发
  4. AngularJs学习笔记--directive
  5. ORACLE 对用户密码做限制
  6. POJ 2010 Moo University - Financial Aid( 优先队列+二分查找)
  7. CIC and Fir 滤波器的级联
  8. codeforce Gym 101102A Coins (01背包变形)
  9. linkin大话面向对象--GC和jar包
  10. Nginx(三)------nginx 反向代理
  11. Hadoop学习------Hadoop安装方式之(二):伪分布部署
  12. MSMQ—确认队列和响应队列
  13. Windows 命令行
  14. 基于Arcface 免费离线人脸识别 2.0 Demo C#
  15. Linux随笔---tar命令
  16. 【Ansible】 各种模块
  17. C#基础笔记(第十天)
  18. Bing词典vs有道词典比对测试报告
  19. 彻底搞懂 SQLAlchemy中的 backref
  20. 接口传值实例DatePickerDialog

热门文章

  1. Ubuntu 12.04 安装 Chrome浏览器
  2. sublime Text 3实用功能和常用快捷键收集
  3. Hadoop源码之Configuration
  4. HDOJ 1907 John
  5. Lua中的捕获
  6. 在link的url里新增参数
  7. GLUT教程 - 安装
  8. 百度图片爬虫-python版
  9. SVN安装与配置 SVN整合MyEclipse
  10. FOJ 1205