java操作excel表格(最简单的教程!一学即会)

背景

Excel表格的使用在我们的日常生活中十分的普遍。
有时候我们会遇到这样的需求:在开发某管理系统的功能时需要与Excel进行交互,亦或是平时在对excel表格做处理和分析的时候用编程来实现操作能更加高效和便捷。
基于此,本文章的目的在于实现编程与Excel的简单交互,编程使用的语言为JAVA。


Java实现操作excel表格的功能,方法不少,形式多样,如使用Office文档的Java处理包POI来操作excel,如使用一些企业封装好的开源的工具等等。 本文采用的方法是使用由java语言开发而成的工具类库------jxl.jar,来达到与excel的交互效果。简单便捷,即学即用。

~

工具包介绍

jxl.jar:java操作excel表格的工具类库。
这是一个.jar类型的类库,这套API是纯Java的,并不依赖Windows系统,它集成封装了操作处理excel表格的一些类和方法。


以下是此工具包的下载链接:
https://mvnrepository.com/artifact/net.sourceforge.jexcelapi/jxl/2.6.12
*(此网站用来下载java需要的各种.jar包,可收藏使用) *

打开网站界面之后如下图,按图中箭头指引处点击即可下载:
下载指引

备用下载地址:网盘提取

链接:https://pan.baidu.com/s/1SWMspzDiWLew4LVmgmOn7g 提取码:u4fs

使用指南

下载jxl.jar包之后,我们在project(项目)中添加引入此jar包即可。
如何引入jar包?可跳转博客另一篇博文~~

使用jxl.jar包操作excel表格,其中主要用到的对象是:
Workbook,Sheet ,Cell。


Workbook:对应一个excel表格;一个Workbook有一个或多个Sheet
Sheet:对应表格中的一页表sheet;一个Sheet有一个或多个Cell
Cell:对应页表中的单元格。


1.如何读取excel表格文档内容?

代码演示:

private static void ReadExcel(String url) throws Exception {

		/*  url:表格文档路径及名字
		eg:"文档路径...\\文档名.xls"      */
		
		//1:创建workbook
		Workbook workbook=Workbook.getWorkbook(new File(url));   //这里输入表格文档的路径及名字
		//2:获取第一个工作表sheet
		Sheet sheet=workbook.getSheet(0);  //下标从0开始表示第一个工作表
		//3:获取数据
		for(int i=1;i<sheet.getRows();i++)    //行数
		{
			for(int j=0;j<sheet.getColumns();j++)   //列数
			{
				Cell cell=sheet.getCell(j,i);  //这是一个单元格  这里注意j i的顺序不要颠倒
				System.out.print(cell.getContents()+" "); //获取单元格内容并输出
			}
			System.out.println(); //换行
		}
		//4:关闭资源
		workbook.close();
	}

代码实现了读取excel表格文档的内容并在控制台输出的效果。

如上只是方便演示,在实际应用中为进一步方便对数据的处理,我们通常会将读取到的数据整理放入特定的数据结构(如数组等)当中。

结果演示:
在这里插入图片描述
在这里插入图片描述

2.如何导出创建excel表格文档?

首先我们要将数据内容整理成以二维数组的形式存放。

代码演示:

public static void CreateExcel(String url,String head[],String result[][]) throws Exception {

		/* url:要导出创建的excel文档的路径位置及名字
		 	eg:"文档路径...\\文档名.xls" 

		 	head[]:表格首行标题
		 	result[][]:以二维数组形式存放的表格文档内容
		 */


		FileOutputStream os=new FileOutputStream(url);  //文件流

		//创建工作薄
		WritableWorkbook workbook = Workbook.createWorkbook(os);
		//创建新的一页
		WritableSheet sheet = workbook.createSheet("First Sheet", 0);
		//创建要显示的具体内容

		//首行标题内容
		for(int i=0;i<head.length;i++)
		{
			jxl.write.Label l1=new jxl.write.Label(i, 0, head[i]); // i j注意哈
			sheet.addCell(l1);
		}
		//内容
		for(int i=0;i<result.length;i++)
		{

			for(int j=0;j<result[0].length;j++)
			{
				//	sheet.setColumnView(j, 28);
				jxl.write.Label l1=new jxl.write.Label(j, i+1, result[i][j]); // i j注意哈
				sheet.addCell(l1);
			}
		}
		workbook.write();
		workbook.close();
		os.close();
	}

代码实现了创建新的excel文档,将数据内容写入其中,完成导出表格的功能。

调用演示:

public static void main(String[] args) throws Exception {
		// TODO Auto-generated method stub
		String head[]= {"学号","姓名","性别","年龄"};
		String result[][]= {
				{"123456","小明","男","18"}	,
				{"123457","小红","女","19"},
				{"123458","小华","男","20"}
		};

		try {
			createExcel("C:\\Users\\64457\\Desktop\\工作簿2.xls", head,result);
		} catch (WriteException | IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

结果演示: 写入excel表格文档
在这里插入图片描述

写在后面

以上实现了java与excel的交互,能够使用java语言读取、写入excel表格文档,代码简单,具有通用性。

然而jxl.jar包,由于版本限制,只能读取操作.xls格式的Excel文档,因此在实际处理的过程中,如在读取普通excel文档(.xlsx)的时候,可以手动将内容复制粘贴至新的excel文档,并将此新文档的后缀名格式设为.xls即可。

  • 17
    点赞
  • 153
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值