使用Java操作excel的几种方法

需要导入一下jar包,少一个都不行。

版本要统一,比如都用4.1.2,否则报错
poi-4.1.2.jar
poi-ooxml-4.1.2.jar
poi-ooxml-schemas-4.1.2.jar

maven仓库

Apache XMLBeans Download

下载二进制文件那个,里面才有jar包


下载解压后去lib文件夹里找jar包


jar包导入路径 web\WEB-INF\lib\commons-collections4-4.1.jar

XSSFTest.java

package com.heima.test;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.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;public class XSSFTest {public static String PATH = "C:/Users/用户名/Desktop/";public static void main(String[] args) throws IOException {//时间long begin = System.currentTimeMillis();//创建一个工作簿Workbook workbook = new XSSFWorkbook();//创建表Sheet sheet = workbook.createSheet();//写入数据for (int rowNumber = 0; rowNumber < 65537; rowNumber++) {Row row = sheet.createRow(rowNumber);for (int cellNumber = 0; cellNumber < 10; cellNumber++) {Cell cell = row.createCell(cellNumber);cell.setCellValue(cellNumber);}}System.out.println("结束");FileOutputStream fileOutputStream = new FileOutputStream(PATH + "用户信息表-XLSX.xlsx");workbook.write(fileOutputStream);fileOutputStream.close();long end = System.currentTimeMillis();System.out.println((double) (end - begin) / 1000);//5.003s}
}

HSSFTest.java

package com.heima.test;import org.apache.poi.hssf.usermodel.HSSFWorkbook;
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.ss.usermodel.Workbook;import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;public class HSSFTest {private static  String PATH = "C:/Users/用户名/Desktop/";//自己输出的路径public static void main(String[] args) throws IOException {//时间long begin = System.currentTimeMillis();//创建一个工作簿Workbook workbook = new HSSFWorkbook();//创建表Sheet sheet = workbook.createSheet();//写入数据for (int rowNumber = 0; rowNumber < 65536; rowNumber++) {//创建行Row row = sheet.createRow(rowNumber);for (int cellNumber = 0; cellNumber < 10; cellNumber++) {//创建列Cell cell = row.createCell(cellNumber);cell.setCellValue(cellNumber);}}System.out.println("结束!");FileOutputStream fileOutputStream = new FileOutputStream(PATH + "用户信息表-XLS.xls");workbook.write(fileOutputStream);fileOutputStream.close();long end = System.currentTimeMillis();System.out.println("时间为:"+(double) (end - begin) / 1000);//2.262s}
}


.xls文件最长65536行,.xlsx文件可以超过65536行

HSSF,XSSF方式导出.xls和.xlsx的Excel文件相关推荐

  1. qq群 消息导出 html,【更新】QQ群成员提取工具(可导出xls、xlsx、txt文件)(csv文件)...

    本帖最后由 何人与我立黄昏 于 2019-12-5 08:47 编辑 说明一下:因为是二次开发,贴上原帖地址,感谢作者提供开源的核心算法 https://www.52pojie.cn/thread-8 ...

  2. MySQL导出到excle显示不了_mysql导出select语句结果到excel文件遇到问题及解决方法_MySQL...

    一.导出数据外部 1)mysql连接+将查询结果输出到文件.在命令行中执行(windows的cmd命令行,mac的终端) mysql -hxx -uxx -pxx -e "query sta ...

  3. java 通用工具 POI XSSF导出.xls或者.xlsx

    我是用的java类反射方式生成的excel 1. pom依赖 <!-- <artifactId>poi</artifactId> //适用于低版本,也就是xls结尾的Ex ...

  4. java读取doc、docx、ppt、pptx、xls、xlsx格式的文件

    前言: 通常我们用apache 的POI库对以上文档进行操作,apache POI官网 apache POI官网 这里推荐到官网下载导入到项目,maven下载的它会缺少几个包. 格式上后缀带x(doc ...

  5. matlab读取xls、xlsx、csv文件

    常常我们在matlab里需要读取excel数据文件或者保存matlab中矩阵的数据.但是直接在matlab里用xlswrite写出的文件实际上是csv格式,在matlab里无法用xlsread读取.笔 ...

  6. Vue2.js:xlsx实现Excel文件的导入导出

    需求: Vue2.js + ElementUI 项目,通过xlsx实现一个前端的 Excel 导入和导出功能 文档 https://www.npmjs.com/package/xlsx https:/ ...

  7. python读文件的三种方式_Python|读、写Excel文件(三种模块三种方式)

    python读写excel的方式有很多,不同的模块在读写的讲法上稍有区别: 用xlrd和xlwt进行excel读写: 用openpyxl进行excel读写: import xlrd from xlut ...

  8. vue2.0 使用xlsx读取excel文件数据 操作流程 以及文件中特殊日期数据的处理

    1. 安装xlsx依赖 cnpm install xlsx --save 2.需要处理的文件 这里有一个转换中经常会遇见的问题,就是带有反斜杠的日期数据被转换成了一串数字,在接下来的演示中提供了我现在 ...

  9. 导出生成有水印的excel文件

    上代码跑一下即可 pom <properties><poi.ooxml.version>4.1.2</poi.ooxml.version><ooxml.sch ...

最新文章

  1. linux的基本命令--常用
  2. Linux下对Verilog文件进行leda检错
  3. python求平行四边形面积_python 已知平行四边形三个点,求第四个点的案例
  4. Java NIO编程基础
  5. 分享一个一分钟就学会的vue小技巧(真的一看就会~~)
  6. 常用的WebService
  7. java多肽跟重载_Java多态vs重写vs重载
  8. 摩游世纪CEO宋啸飞:Html5增长趋势已可见
  9. php怎么判断未定义索引数组,PHP数组查找中的未定义索引
  10. 数字电路与模拟电路区别
  11. 线路,数据通路,数据总线的关系
  12. 关于在ElasticSearch中使用now函数进行时间范围过滤查询的问题
  13. flutter 如何判断页面渲染完毕
  14. 社群运营怎么做更有效?
  15. 【javaEE】网络编程套接字
  16. 电脑选购指南(内含各价位型号最新推选)
  17. Windows和ubuntu下一些提升效率的工具知识点以及typora和Obsidian配置
  18. 海胆状聚苯乙烯与α-氧化铁复合结构微球/聚苯乙烯/氧化石墨烯/CNTs复合微球研究方式
  19. 时间序列分析-----1---简介
  20. Node:找不到模块Error: Cannot find module

热门文章

  1. qnx 设备驱动开发_QNX操作系统及网络设备驱动模块
  2. python的浮点数_python中浮点数的精度
  3. 背完这195道软件测试面试题,帮你轻松拿下提前批offer
  4. 第七天之回顾函数指针
  5. mysql创建视图navicat_mysql创建视图(navicat)
  6. c语言中冒号运算符,冒号等于 - G之间的差异:=和=运算符
  7. [原创][从mambo到joomla的迁移实战之四]插件、组件的迁移
  8. java 服务端渲染_基于vue-ssr服务端渲染入门详解
  9. 陈皓----程序员如何把控自己的职业(转)
  10. 计算机开机启动excer,我的电脑只要用excel就会自动重新启动?