-
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
最新更新
python爬虫及其可视化
使用python爬取豆瓣电影短评评论内容
nodejs爬虫
Python正则表达式完全指南
爬取豆瓣Top250图书数据
shp 地图文件批量添加字段
爬虫小试牛刀(爬取学校通知公告)
【python基础】函数-初识函数
【python基础】函数-返回值
HTTP请求:requests模块基础使用必知必会
SQL SERVER中递归
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
uniapp/H5 获取手机桌面壁纸 (静态壁纸)
[前端] DNS解析与优化
为什么在js中需要添加addEventListener()?
JS模块化系统
js通过Object.defineProperty() 定义和控制对象
这是目前我见过最好的跨域解决方案!
减少回流与重绘
减少回流与重绘
如何使用KrpanoToolJS在浏览器切图
performance.now() 与 Date.now() 对比