Java操作Excel并显示到网页
Java 实现操作 excel
使用 POI
环境搭建
创建一个 maven 工程,pom.xml
中导入以下依赖:
<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.0.7.RELEASE</version>
</parent><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!-- 处理 03版 .xls --><dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>3.9</version></dependency><!-- 处理 07版 .xlsx --><dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</artifactId><version>3.9</version></dependency><!-- junit --><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version></dependency>
</dependencies>
Excel03 版本的导出
03版本的导出较快,但是最多只能写65536行。
public class ExcelWrite {String PATH = "C:\\Users\\Administrator\\Desktop\\";@Testpublic void write03() throws Exception {//创建工作簿Workbook workbook = new HSSFWorkbook();//创建工作表Sheet sheet = workbook.createSheet("统计表");//创建第一行Row row0 = sheet.createRow(0);//在第一行创建两个单元格子Cell cell00 = row0.createCell(0);cell00.setCellValue("姓名");Cell cell01 = row0.createCell(1);cell01.setCellValue("性别");//创建第二行Row row1 = sheet.createRow(1);//在第二行创建两个单元格子Cell cell10 = row1.createCell(0);cell10.setCellValue("sjh");Cell cell11 = row1.createCell(1);cell11.setCellValue("male");//生成一张表FileOutputStream fos = new FileOutputStream(PATH + "03.xls");workbook.write(fos);//释放资源fos.close();System.out.println("excel 生成完毕");}
}
执行该测试方法,在桌面生成了一个 03.xls
:
Excel07 版本的导出
只是把 Workbook
接口的实现类由 HSSFWorkbook
换成了 XSSFWorkbook
,以及文件结尾从 .xls
换成了 .xlsx
,其余不变。
07 版本的导出较慢,但能写更多的行,如果希望提升速度,可以使用SXSSFWorkbook
加强版实现类,但是在使用完成后要调用 dispose()
方法清除临时的缓冲文件。
@Test
public void write07() throws Exception {//创建工作簿Workbook workbook = new XSSFWorkbook();//创建工作表Sheet sheet = workbook.createSheet("统计表");//创建第一行Row row0 = sheet.createRow(0);//在第一行创建两个单元格子Cell cell00 = row0.createCell(0);cell00.setCellValue("姓名");Cell cell01 = row0.createCell(1);cell01.setCellValue("性别");//创建第二行Row row1 = sheet.createRow(1);//在第二行创建两个单元格子Cell cell10 = row1.createCell(0);cell10.setCellValue("sjh");Cell cell11 = row1.createCell(1);cell11.setCellValue("male");//生成一张表FileOutputStream fos = new FileOutputStream(PATH + "07.xlsx");workbook.write(fos);//释放资源fos.close();System.out.println("excel 生成完毕");
}
执行该测试方法,在桌面生成了一个 07.xlsx
:
Excel03 版本的导入
07 版本的导入也一样,更换实现类即可。
创建一个 Controller:
@Controller
@RequestMapping("/excel")
public class ExcelRead {String PATH = "C:\\Users\\Administrator\\Desktop\\";@RequestMapping("/read03")public void read03(HttpServletResponse response) throws Exception {//设置输出编码response.setContentType("text/html;charset=UTF-8");PrintWriter writer = response.getWriter();writer.print("开始解析 excel 文件...<br/>");writer.print("---------------------<br/>");//获取输入流并创建工作簿FileInputStream fis = new FileInputStream(PATH + "03.xls");Workbook workbook = new HSSFWorkbook(fis);//获取表Sheet sheet = workbook.getSheetAt(0);//获取总共的行数int rowNum = sheet.getLastRowNum();for (int r = 0; r <= rowNum; r++) {Row row = sheet.getRow(r);//获取行对象int cellNum = row.getLastCellNum();//获取总共列数for (int c = 0; c < cellNum; c++) {Cell cell = row.getCell(c);//获取单元格writer.print(cell.getStringCellValue()+" ");}writer.print("<br/>");;//换行}//关闭流fis.close();writer.println("---------------------<br/>");writer.println("解析 excel 文件完毕<br/>");}}
创建一个启动类:
@SpringBootApplication
public class MyApplication {public static void main(String[] args) {SpringApplication.run(MyApplication.class,args);}
}
启动 Spring Boot,访问对应 url,成功解析桌面的 03.xls
文件 :
Java操作Excel并显示到网页相关推荐
- java操作Excel、PDF文件
java操作Excel.PDF文件 下面这些是在开发中用到的一些东西,有的代码贴的不是完整的,只是贴出了关于操作EXCEL的代码: jxl是一个*国人写的java操作excel的工具, 在开源世界中, ...
- java操作excel表
文章分类:Java编程 http://developers.sun.com.cn/blog/functionalca/entry/java读写excel简介 JAVA EXCEL API简介 Java ...
- JAVA操作Excel时文字自适应单元格的宽度设置方法
使用JAVA操作Excel通常都使用JXL,方法很简单网上也有很多的教程,然后往往一些细节性的问题却导致我们这些Programmer苦恼不已.这两天帮一个朋友做一个Excel表格自动生成的小软件,就遇 ...
- Java 操作excel表格 - JXL(Java excel api)
Java 操作excel表格 Java 操作 Excel 最常用的就是JXL(Java excel api)和POI,用起来挺简单的,不过相应的其功能也并非很强大,够用就行! 首先,下载jxl.jar ...
- java操作excel的工具
jxl是一个韩国人写的java操作excel的工具, 在开源世界中,有两套比较有影响的API可 供使用,一个是POI,一个是jExcelAPI.其中功能相对POI比较弱一点.但jExcelAPI对中文 ...
- Java操作Excel并导出
Java导出Excel表格 提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 Java导出Excel表格 前言 一.企业excel项目导出演示 二.使用步骤 1.引入Mave ...
- Java 操作excel 插入删除列,插入删除图片
起因:接收到一部分数据存在Excel中,大概有300多个,每一个excel的前两行为空,并且插入了一张图片,第三行可以当做表头. 任务:使用kettle将excel中数据导入到数据库中,但是要删除千两 ...
- Java操作Excel之POI:java读写excel文件以及打印设置
Java操作Excel之POI:java读写excel文件以及打印设置 POI的jar包下载地址:http://poi.apache.org/download.html 注意:项目中导入poi 4.0 ...
- java操作Excel有两种方式 方式1:jxl操作Excel jxl的API
java操作Excel有两种方式 方式1:jxl操作Excel 方式2:poi操作Excel 下面介绍jxl API: 使用Windows操作系统的朋友对Excel(电子表格)一定不会陌生,但是要使用 ...
最新文章
- [Android1.5]Android2.0版本以下Activity切换动画效果
- spring boot多数据源配置(mysql,redis,mongodb)实战
- 单日2000W+订单,如何忙中不错?美团外卖业务异常检测实践详解
- python自动化工具开发_初识TPOT:一个基于Python的自动化机器学习开发工具
- 再次学习mysql优化
- 前端学习(3000):vue+element今日头条管理--封装请求模块
- 【BZOJ1815BZOJ1488】有色图图的同构,Polya计数+暴力
- select下拉框怎么去掉空白_行业词库:网站长尾关键词优化怎么做呢?
- WinForm后台任务(定时任务)传递消息给主窗体并更新主窗体文本框内容
- js解压gzip(解决RangeError: Maximum call stack size exceeded)
- Ins图片爬取(基于python,selenium)
- 爬取豆瓣电影排行榜top250最新教程!经典爬虫案例
- python 聚宽 对股票名称或代码进行查询
- 亿推推微分销-最具口碑的微信分销公众平台,欢迎各位商家入驻!
- 数据科学库(HM)(Day2)——matplotlib常用统计图
- 深度之眼Paper带读笔记GNN.06.GAT
- HTMLCSS选择器
- 程序员12年工作经验跳槽,经验和总结
- “我月薪3千月入5万”:不是你不会赚钱,而是你赚钱的方式有问题
- 农业绿色有机蔬菜PPT模板(工作总结、汇报).pptx