1.Java中使用POI操作ExceL的读与写

​直接给代码

1.1导入依赖

org.apache.poi

poi

3.10-FINAL

org.apache.poi

poi-ooxml

3.10-FINAL

1.2 使用工具类

package cn.Poi;

import cn.domain.Customer;

import org.apache.poi.hssf.usermodel.HSSFRow;

import org.apache.poi.hssf.usermodel.HSSFSheet;

import org.apache.poi.hssf.usermodel.HSSFWorkbook;

import org.apache.poi.ss.usermodel.Row;

import org.apache.poi.ss.usermodel.Sheet;

import org.apache.poi.ss.usermodel.Workbook;

import org.apache.poi.xssf.usermodel.XSSFWorkbook;

import java.io.File;

import java.io.FileInputStream;

import java.io.FileOutputStream;

import java.lang.reflect.Field;

import java.util.ArrayList;

import java.util.List;

public class ExcelUtils {

/**

* 、创建单元格

* @param excelDir 路径

* @param excelFileName 文件名

* @throws Exception

*/

public static void createExcel2007(File excelDir , String excelFileName) throws Exception{

// 1. 内存中创建一个excel工作薄

Workbook wb = new HSSFWorkbook(); //创建了一个2007之前格式的excel文件

// 创建页

createSheet(wb,10);

// 创建行和列

fillData(wb.getSheet("第0页"),10,10);

// 2. 保存这个excel 磁盘上

File excelFile = new File(excelDir,excelFileName);

final FileOutputStream out = new FileOutputStream(excelFile);

wb.write(out);

out.close();

}

/**

* 同上

* @param excelDir

* @param excelFileName

* @throws Exception

*/

public static void createExcel2008(File excelDir , String excelFileName) throws Exception{

// 1. 内存中创建一个excel工作薄

Workbook wb = new XSSFWorkbook();//创建了一个2007之前格式的excel文件

// 2. 保存这个excel 磁盘上

File excelFile = new File(excelDir,excelFileName);

final FileOutputStream out = new FileOutputStream(excelFile);

wb.write(out);

out.close();

}

/**

* 创建文档页码

* @param wb

* @param sheetNum

*/

public static void createSheet(Workbook wb , int sheetNum){

for (int i = 0; i < sheetNum; i++) {

wb.createSheet("第"+i+"页");

}

}

/**

* 创建单元格,并且在里面填充数字进行测试,写入测试

* @param sheet

* @param row

* @param col

*/

public static void fillData(Sheet sheet , int row , int col){

//创建行

for (int i = 0; i < row; i++) {

Row currentRow = sheet.createRow(i);

//每行多少个单元格

for (int i1 = 0; i1 < col; i1++) {

//获取单元格,并且设置单元格里面的值

currentRow.createCell(i1).setCellValue(i*col+i1);

}

}

}

/**、

* 测试读取数字,从第0页开始

* @throws Exception

*/

public static void readExcelint() throws Exception{

FileInputStream excelFile = new FileInputStream("C:/Users\\10596\\Desktop\\firstExcel.xls");

HSSFWorkbook hssfWorkbook = new HSSFWorkbook(excelFile);

final HSSFSheet sheet = hssfWorkbook.getSheet("第0页");

//分别获取 文档中最后一行的行标,单元格

for (int i = 0 ; i

final HSSFRow row = sheet.getRow(i);

for (int j = 0 ; j

double value = row.getCell(j).getNumericCellValue();

System.out.println(value);

}

}

}

/**、

* 测试读取文字,从第0页开始

* @throws Exception

*/

public static void readExcelStr() throws Exception{

FileInputStream excelFile = new FileInputStream("C:/Users\\10596\\Desktop\\customerList.xls");

HSSFWorkbook hssfWorkbook = new HSSFWorkbook(excelFile);

final HSSFSheet sheet = hssfWorkbook.getSheet("第0页");

//分别获取 文档中最后一行的行标,单元格

for (int i = 0 ; i

final HSSFRow row = sheet.getRow(i);

for (int j = 0 ; j

String stringCellValue = row.getCell(j).getStringCellValue();

System.out.println(stringCellValue);

}

}

}

/**

* 写入数据

* @throws Exception

*/

public static void db2excel() throws Exception{

List list = new ArrayList();

for(int i = 0; i < 100; i++){

Customer customer = new Customer();

customer.setId(i+"jack");

customer.setName("jack"+i);

customer.setAddress("测试"+i);

list.add(customer);

}

// 1. 内存中创建一个excel工作薄

Workbook wb = new HSSFWorkbook(); //创建了一个2007之前格式的excel文件

// 创建页

createSheet(wb,10);

// 创建行和列

Field[] declaredFields = Customer.class.getDeclaredFields();

//在第0页填充数据

Sheet sheet = wb.getSheet("第0页");

//获取集合的大小,间接性获取有多少个对象需要存入到文档

for (int i = 0; i < list.size() ; i++){

Customer customer = list.get(i);

//有多少对象就有多少行,创建单元行

Row row = sheet.createRow(i);

int col = 0;

for (Field field : declaredFields) {

//反射的 实体类有 私有属性,进行暴力反射

field.setAccessible(true);

//获取对象里面的值,填充到单元格中

String value = (String) field.get(customer);

row.createCell(col++).setCellValue(value);

}

}

// 2. 保存这个excel 磁盘上

File excelFile = new File("C:\\\\Users\\\\10596\\\\Desktop","customerList.xls");

final FileOutputStream out = new FileOutputStream(excelFile);

wb.write(out);

out.close();

}

public static void main(String[] args) throws Exception {

// createExcel2007(new File("C:\\Users\\10596\\Desktop"),"firstExcel.xls");

// readExcelint(); //读取填充的int数

//填充数据

db2excel();

//读取填充的字符串

readExcelStr();

}

}

1.3 使用写入时创建的实体类

package cn.domain;

public class Customer {

private String id;

private String name;

private String address;

public String getId() {

return id;

}

public void setId(String id) {

this.id = id;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public String getAddress() {

return address;

}

public void setAddress(String address) {

this.address = address;

}

}

1.4 包结构,以及效果

包结构

写入的效果

读取文档打印的效果

标签:Java,String,poi,ExceL,new,POI,import,public,wb

来源: https://blog.csdn.net/Violet_201903027/article/details/100177857

java 中的poi_Java中使用POI操作ExceL的读与相关推荐

  1. java apache.poi_Java利用apache的POI操作Excel

    最近在写一些报表的活,顺便总结下...第一篇博文,希望多多指教. 项目中经常会设计到一些数据的报表问题,目前java中操作Excel的插件也有很多 ,我说下用apache的POI操作Excel的方法. ...

  2. Java - Poi 操作 Excel

    Java - Poi 操作 Excel 关注 "弋凡"(YiFan)微信公众号吧 记录简单笔记 做你的最爱 注意 XSSFWorkbook 对象是操作 .xlsx 格式的表格 HS ...

  3. execle java,Java使用POI操作Excel

    Java使用POI操作Excel 1. POI操作Excel 1.1. 依赖 org.apache.poi poi 4.1.0 org.apache.poi poi-ooxml 4.1.0 org.a ...

  4. java使用poi操作excel(读、写)

    摘要: Jakarta POI 是apache的子项目,目标是处理ole2对象.它提供了一组操纵Windows文档的Java API 目前比较成熟的是HSSF接口,处理MS Excel(97-2007 ...

  5. Java使用poi操作excel注意事项

    Java使用poi操作excel注意事项 1.如果只需要获取sheet信息,用流模式打开文件即可获取,消耗内存少 2.上传的文件需要校验,防止Excel包含异常的缓存文件,缓存文件可能会有几百兆,会瞬 ...

  6. Java实战—POI操作Excel文档、读取、写入、合并单元格

    一.POI项目简介 POI全称 Poor Obfuscation Implementation,利用POI接口可以通过JAVA操作Microsoft office 套件工具的读写功能.官网:http: ...

  7. JAVA使用POI操作Excel表,XSSF(xlsx)和HSSF(xls)

    JAVA使用POI操作Excel表,XSSF(xlsx)和HSSF(xls) *** POI的结构: ---*HSSF - 提供读写Microsoft Excel格式档案的功能. ---*XSSF - ...

  8. Java使用POI操作Excel文件

    我们可以使用POI操作Excel文件,本文主要介绍:"导入POI的Maven依赖"."创建Poi对象"."Poi读取Excel工作表数目". ...

  9. java实现在线预览----poi操作excel转html及03、07版本兼容问题

    poi操作excel转html及其兼容问题 excel03是读取文件整个内容转为字符串存进html,excel07是读取文件内容拼成字符串存进html /*** excel03转html* filen ...

最新文章

  1. Keras框架下的保存模型和加载模型
  2. Java中 实体类 VO、 PO、DO、DTO、 BO、 QO、DAO、POJO的概念
  3. VS2010解决方案转换到VS2008
  4. easy_install与pip 区别
  5. [AWS vs Azure] 云计算里AWS和Azure的探究(5) ——EC2和Azure VM磁盘性能分析
  6. Linux 查看CPU信息,内存等信息
  7. 电脑休眠和睡眠的区别_关机、睡眠、休眠有啥区别?微软说非特殊情况不要关机...
  8. Linux的实际操作:时间日期类的实用指令(date cal)
  9. Docker学习三:Docker 数据管理
  10. 标准JavaBean
  11. get_class 方法
  12. 快了!华为Mate X国内发布时间曝光:另有麒麟990版本
  13. 腾讯、网易、新浪新闻网站爬虫编写记录及评论格式分析
  14. 门店超越星巴克背后,瑞幸成咖啡市场新航标
  15. JS获取当前时间的前一个小时及格式化时间
  16. SAP 采购申请审批
  17. 大陆中文网站流量排名前100
  18. 欧几里德 与 扩展欧几里得 学习笔记
  19. Intel SGX入门(一)——背景篇
  20. PMO项目经理须掌握的组织现状诊断技能【附诊断表】

热门文章

  1. 度量空间 赋范空间 向量空间的区别
  2. Python调用WPS API
  3. 【JSP】用户信息界面操作 ---- 用户信息修改
  4. h5画布动画_使用HTML5画布制作动画的漫画面板
  5. Z-BLOG 懒人一键采集插件,自动采集+发布+推送
  6. JavaWEB快速入门之验证码及课堂项目【04】
  7. java中的类的继承_Java中类的继承
  8. 记者:你为什么还不退休? | 任正非:我上午可以喝茶,下午再喝茶就睡不着了...
  9. [转] Windows下Hook DirectX
  10. 基于高通410c开发板,开发android端家庭控制中心APP(1)