JAVA读取、写入Excel表格(含03版)
来源:互联网 发布:ubuntu开机启动项 编辑:程序博客网 时间:2024/05/16 17:26
引言
工作中可能会遇到对Excel读取和写入,如果我们自己手动写的话,会很麻烦,但是Apache中有poi工具类。poi工具类封装好了对于Excel读取和写入,我们需要用的时候,直接调用该方法就好了。
注:03和07的写法不一致。
区别如下
// HSSFWorkbook 2003的excel .xls,XSSFWorkbook导入2007的excel .xlsx HSSFWorkbook workbook=new HSSFWorkbook(new FileInputStream(new File(file))); XSSFWorkbook workbook=new XSSFWorkbook(new FileInputStream(new File(file))));
代码实现
import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.util.ArrayList;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;import com.alibaba.fastjson.JSONObject;/** * * Title: excelTest* Description: excel表格读取* 注意:引用poi 架包版本要一致* 如:* poi-3.13.jar* poi-ooxml-3.13.jar* poi-ooxml-schemas-3.13.jar* poi-scratchpad-3.13.jar* 这些架包版本随意* stax-api.jar* xmlbeans.jar* dom4j.jar* Version:1.0.0 * @author pancm */public class excelTest { private static final String path="D:\\file\\test.xlsx"; private static final String path1="D:\\file\\test1.xlsx"; public static void main(String[] args) throws FileNotFoundException, IOException { readExcel(path); writeExcel(path1); } /** * 读取Excel表格内容 * @throws FileNotFoundException * @throws IOException */ @SuppressWarnings({ "rawtypes", "unchecked" }) private static void readExcel(String str) throws FileNotFoundException, IOException{ File file=new File(str); // HSSFWorkbook 2003的excel .xls,XSSFWorkbook导入2007的excel .xlsx// HSSFWorkbook workbook=new HSSFWorkbook(new FileInputStream(new File(file))); XSSFWorkbook workbook=new XSSFWorkbook(new FileInputStream(file)); Sheet sheet=workbook.getSheetAt(0);//读取第一个 sheet List list= new ArrayList<>(); Row row=null; int count=sheet.getPhysicalNumberOfRows(); //逐行处理 excel 数据 for (int i = 1; i <count; i++) { JSONObject json=new JSONObject(); row=sheet.getRow(i); Cell cell0 = row.getCell(0); //设置取值为String //整数数据要转,否则会变成浮点数 cell0.setCellType(Cell.CELL_TYPE_STRING); Cell cell1 = row.getCell(1); cell1.setCellType(Cell.CELL_TYPE_STRING); json.put("Id",cell0.toString()); //编号 json.put("Name",cell1.toString()); //名称 list.add(json); System.out.println("json:"+json); } workbook.close(); System.out.println("list:"+list); } /** * 写入Excel表格内容 * @throws FileNotFoundException * @throws IOException */ @SuppressWarnings({ "resource", "rawtypes", "unchecked" }) private static void writeExcel(String str) throws FileNotFoundException, IOException{ File file=new File(str); // HSSFWorkbook 2003的excel .xls,XSSFWorkbook导入2007的excel .xlsx// HSSFWorkbook workbook=new HSSFWorkbook(new FileInputStream(new File(file))); XSSFWorkbook workbook=new XSSFWorkbook(new FileInputStream(file)); List resultList =new ArrayList<>(); Sheet sheet1 = workbook.createSheet();//创建 sheet 对象 Row row = sheet1.createRow(0);//第一行,标题 row.createCell(0).setCellValue("A"); row.createCell(1).setCellValue("B"); row.createCell(2).setCellValue("C"); row.createCell(3).setCellValue("D"); row.createCell(4).setCellValue("E"); //拼接数据 for(int i=1;i<=10;i++){ JSONObject json1=new JSONObject(); json1.put("A", i); json1.put("B", i*2); json1.put("C", i*3); json1.put("D", i*4); json1.put("E", i*5); resultList.add(json1); } System.out.println("resultList:"+resultList); Row row1; for (int i = 1, len = resultList.size(); i <=len; i++) {//循环创建数据行 //因为第一行已经设置了,所以从第二行开始 row1 = sheet1.createRow(i); JSONObject json=(JSONObject) resultList.get(i-1); row1.createCell(0).setCellValue(json.getString("A")); row1.createCell(1).setCellValue(json.getString("B")); row1.createCell(2).setCellValue(json.getString("C")); row1.createCell(3).setCellValue(json.getString("D")); row1.createCell(4).setCellValue(json.getString("E")); } FileOutputStream fos = new FileOutputStream(path1); workbook.write(fos);//写文件 fos.close(); System.out.println("写入成功!"); }}
示例图
读取Excel
新建一个Excel表格,设置表格内容。
关闭此Excel,运行代码,打印获取的数据。
写入Excel
创建一个新的Excel。
关闭此Excel,运行代码
再次打开此Excel
阅读全文
1 0
- JAVA读取、写入Excel表格(含03版)
- Java读取和写入excel表格
- java连接Excel数据库读取,写入,操纵Excel表格
- java连接Excel数据库读取,写入,操纵Excel表格
- java连接Excel数据库读取,写入,操纵Excel表格
- Java读取excel表格
- java写入excel表格模板
- MATLAB读取写入Excel表格内容
- MATLAB读取和写入excel表格文件
- Matlab读取和写入excel表格文件
- Python读取Json字典写入Excel表格
- java读取和写入EXCEL
- Java读取和写入Excel
- 引用 从Excel表格中读取数据,写入已经建立好的数据库中(java)
- 用java代码实现从excel表格读取数据然后写入生成国际化配置文件properties
- java SpringMVC中 POI读取数据库数据并写入Excel表格中,并实现下载功能
- Java读取Excel表格信息。
- Java poi读取Excel表格
- 加密方法
- 男子疯了,投资银行产品竟因一规定少收入几十万
- pg_dump -F t 独立表不能超过8GB吗?超过8GB 会提示什么报错??
- Spark Streaming整合Kafka(二)
- 新手学习java路线--付视频下载地址
- JAVA读取、写入Excel表格(含03版)
- Python学习笔记01
- Qt paintevent事件
- POJ 2456 Aggressive cows(二分+贪心)
- Transp. Table EINE(Purchasing Info Record:Purchasing Organization Data)
- hadoop子节点挂掉如何重启
- Android SystemClock类
- MongoDB 介绍与安装(二)
- !!只保留文本中的中英文和符号.,其余都删除