java如何读取excel文件中的数据_Java读取、写入、处理Excel文件中的数据(转载)

在日常工作中,我们常常会进行文件读写操作,除去我们最常用的纯文本文件读写,更多时候我们需要对Excel中的数据进行读取操作,本文将介绍Excel读写的常用方法,希望对大家学习Java读写Excel会有帮助。

在开始进行Java读写Excel前,我们需要先下一个jxl的jar包,这个jar包中提供了相关读写Excel的方法,在百度里所搜一下jxl.jar下载就会出现很多下载地址了,这里不再累述。随后我们将jxl.jar放到classpath下或者在工程的buildpath中添加jxl.jar后,便可以开始Java读写Excel的神秘之旅了。

第一章

Java读取Excel数据

首先,创建一个xls文件(如:jxltest.xls),然后在文件中添加一些数据,Excel文件创建完成后,我们便可以开始写代码读取了:

代码如下:

package jxl.zhanhj;

import java.io.File;

import java.io.FileInputStream;

import java.io.FileNotFoundException;

import java.io.IOException;

import java.io.InputStream;

import jxl.Sheet;

import jxl.Workbook;

import jxl.read.biff.BiffException;

public class GetExcelInfo {

public static void main(String[] args) {

GetExcelInfo obj = new GetExcelInfo();

// 此处为我创建Excel路径:E:/zhanhj/studysrc/jxl下

File file = new File("E:/zhanhj/studysrc/jxl/getExcleinfo.xls");

obj.readExcel(file);

}

// 去读Excel的方法readExcel,该方法的入口参数为一个File对象

public void readExcel(File file) {

try {

// 创建输入流,读取Excel

InputStream is = new FileInputStream(file.getAbsolutePath());

// jxl提供的Workbook类

Workbook wb = Workbook.getWorkbook(is);

// Excel的页签数量

int sheet_size = wb.getNumberOfSheets();

for (int index = 0; index < sheet_size; index++) {

// 每个页签创建一个Sheet对象

Sheet sheet = wb.getSheet(index);

// sheet.getRows()返回该页的总行数

for (int i = 0; i < sheet.getRows(); i++) {

// sheet.getColumns()返回该页的总列数

for (int j = 0; j < sheet.getColumns(); j++) {

String cellinfo = sheet.getCell(j, i).getContents();

System.out.println(cellinfo);

}

}

}

} catch (FileNotFoundException e) {

e.printStackTrace();

} catch (BiffException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}

}

}

package com.test;

import jxl.*;

import jxl.read.biff.BiffException;

import java.io.*;

public class ReadExcel {

public static void main(String[] args) throws BiffException, IOException {

Workbook book = Workbook.getWorkbook(new File("Test.xls"));

//获得第一个工作表对象

Sheet sheet = book.getSheet("sheet_one");

//Sheet sheet = book.getSheet(0);

int rows = sheet.getRows();

int cols = sheet.getColumns();

System.out.println("总列数:" + cols);

System.out.println("总行数:" + rows);

System.out.println("----------------------------");

int i=0;

int j=0;

//循环读取数据

for(i=0;i

{

for(j=0;j

{

System.out.println("第"+j+"行,第"+i+"列为:"+sheet.getCell(i, j).getContents());

}

}

}

}

上面这个例子是一个很简单读取Excel并将各单元格的数据打印到控制台上,更多Excel操作方法,请参加jxl API。

下面我们再对上面的例子进行一个小小的扩展:

1、读取一个目录下的所有Excel文件

2、读取的每个Excel文件的数据写入到不同的txt中

代码如下:

package jxl.zhanhj;

import java.io.File;

import java.io.FileInputStream;

import java.io.FileNotFoundException;

import java.io.FileWriter;

import java.io.IOException;

import java.io.InputStream;

import java.io.PrintWriter;

import jxl.Sheet;

import jxl.Workbook;

import jxl.read.biff.BiffException;

public class GetExcelInfo {

public static void main(String[] args) {

GetExcelInfo obj = new GetExcelInfo();

// 此处路径指定到目录而不是单个文件

File file = new File("E:/zhanhj/studysrc/jxl");

if (file.isDirectory()) {

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值