-
Java 操作 Excel(1)--Jxl使用
Jxl 是一个操作 Excel 的工具类库,功能比较简单,只支持 Excel 2003 及以前的版本;本文简单介绍下使用 Jxl 来读写 Excel,文中所使用到的软件版本:jdk1.8.0_181、Jxl 2.6.12。
1、引入依赖
<dependency> <groupId>net.sourceforge.jexcelapi</groupId> <artifactId>jxl</artifactId> <version>2.6.12</version> </dependency>
2、代码样例
package com.abc.demo.general.excel; import jxl.Cell; import jxl.Sheet; import jxl.Workbook; import jxl.write.*; import org.junit.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.io.File; import java.util.ArrayList; import java.util.List; /** * 使用Jxl操作Excel */ public class JxlCase { private static Logger logger = LoggerFactory.getLogger(JxlCase.class); @Test public void write() throws Exception { WritableWorkbook writableWorkbook = null; try { writableWorkbook = Workbook.createWorkbook(new File("d:/a.xls")); WritableSheet writableSheet = writableWorkbook.createSheet("数据", 0); //写入5行数据 for (int row = 0; row < 5; row++) { int col = 0; //写入数字 writableSheet.addCell(new jxl.write.Number(col++, row, row)); //写入文本 writableSheet.addCell(new Label(col++, row, "文本")); //写入布尔值 writableSheet.addCell(new jxl.write.Boolean(col++, row, true)); //设置格式 WritableFont writableFont = new WritableFont(WritableFont.TIMES,16, WritableFont.BOLD); WritableCellFormat writableCellFormat = new WritableCellFormat(writableFont); writableCellFormat.setAlignment(jxl.format.Alignment.CENTRE); writableCellFormat.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE); writableCellFormat.setWrap(true); writableSheet.addCell(new Label(col++, row, "格式化", writableCellFormat)); } writableWorkbook.write(); } catch (Exception e) { e.printStackTrace(); } finally { if (writableWorkbook != null) { writableWorkbook.close(); } } } @Test public void read() { Workbook workbook = null; try { workbook = Workbook.getWorkbook(new File("d:/a.xls")); Sheet sheet = workbook.getSheet(0); logger.info("colNum={},rowNum={}", sheet.getColumns(), sheet.getRows()); List<String> lineData = new ArrayList<>(); for (int i = 0; i < sheet.getRows(); i++) { lineData.clear(); for (int j = 0; j < sheet.getColumns(); j++) { Cell cell = sheet.getCell(j, i); lineData.add(cell.getContents()); } logger.info("第{}行数据:{}", i + 1, lineData.toString()); } } catch (Exception e) { e.printStackTrace(); } finally { if (workbook != null) { workbook.close(); } } } }
来源:https://www.cnblogs.com/wuyongyin/p/14691139.html
最新更新
求1000阶乘的结果末尾有多少个0
详解MyBatis延迟加载是如何实现的
IDEA 控制台中文乱码4种解决方案
SpringBoot中版本兼容性处理的实现示例
Spring的IOC解决程序耦合的实现
详解Spring多数据源如何切换
Java报错:UnsupportedOperationException in Col
使用Spring Batch实现批处理任务的详细教程
java中怎么将多个音频文件拼接合成一个
SpringBoot整合ES多个精确值查询 terms功能实
数据库审计与智能监控:从日志分析到异
SQL Server 中的数据类型隐式转换问题
SQL Server中T-SQL 数据类型转换详解
sqlserver 数据类型转换小实验
SQL Server数据类型转换方法
SQL Server 2017无法连接到服务器的问题解决
SQLServer地址搜索性能优化
Sql Server查询性能优化之不可小觑的书签查
SQL Server数据库的高性能优化经验总结
SQL SERVER性能优化综述(很好的总结,不要错
uniapp/H5 获取手机桌面壁纸 (静态壁纸)
[前端] DNS解析与优化
为什么在js中需要添加addEventListener()?
JS模块化系统
js通过Object.defineProperty() 定义和控制对象
这是目前我见过最好的跨域解决方案!
减少回流与重绘
减少回流与重绘
如何使用KrpanoToolJS在浏览器切图
performance.now() 与 Date.now() 对比