Java读取Excel文件的几种方法

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Java读取Excel文件的几种方法

最近单位有个项目需要读取excel文件的内容,特别对java读取excel文件的方法做了一点学习,也为了其他人以后能更简单地开发,少走弯路,特写此文,以下程序经过了我的测试,可以保证程序可用,如果你照搬都不行,可能是你的环境有问题。

读取excel文件的常用开源免费方法有以下几种:

JDBC-ODBC Excel Driver

jxl.jar

jcom.jar

poi.jar

下面分别对这几种方法分别进行探讨

1、JDBC-ODBC Excel Driver

这种方法是将excel看成是数据库进行操作,使用SQL Select语句即可

查询excel表格。优点是:不需要第三方的jar包。

如下表样

首先在控制面板进行数据源ODBC登记

具体方法如下:

下面就是代码了。

package xuzhe;

import java.io.*;

import java.sql.*;

//java xuzhe.ExcelJDBC

public class ExcelJDBC {

public static void main(String[] args) throws SQLException{

Connection con = null;

try{

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

con = DriverManager.getConnection( "jdbc:odbc:ExcelJDBC" );

Statement st = con.createStatement();

ResultSet rs = st.executeQuery( "Select * from [Sheet1$]" );

ResultSetMetaData rsmd = rs.getMetaData();

int numberOfColumns = rsmd.getColumnCount();

System.out.println ("表格列数"+numberOfColumns );

System.out.println( rsmd.getColumnName(1)+ "," +

rsmd.getColumnName(2) + "," + rsmd.getColumnName(3));

while (rs.next()) {

for (int i = 1; i <= numberOfColumns; i++) {

if (i > 1) System.out.print(", ");

String columnValue = rs.getString(i);

System.out.print(columnValue);

}

System.out.println("");

}

rs.close();

st.close();

}

catch(Exception ex) {

System.err.print("Exception: ");

System.err.println(ex.getMessage());

}

finally {

con.close();

}

}

}

执行结果如下:

2、jxl.jar

jxl.jar为开源代码,任何运行java虚拟机的操作系统都能使用这个jar包操作excel表格。优点是:不依赖其他任何第三方的库。下载地址:/pub/mirrors/maven2/net/sourceforge/jexcelapi/jxl/2.6.10 /jxl-2.6.10.jar

程序如下:

package xuzhe;

import java.io.File;

import jxl.Sheet;

import jxl.Workbook;

//java

-classpath .;E:\eclipse3.6.2\workspace\CrazyJava\lib\jxl.jar xuzhe.ExcelJXL

public class ExcelJXL

{

static String sourceFile = "c:\\name.xls"; // 源文件

public static void main(String[] args)

{

try

{

Workbook book = Workbook.getWorkbook(new File(sourceFile));

//0代表第一个工作表对象

Sheet sheet = book.getSheet(0);

int rows = sheet.getRows();

int cols = sheet.getColumns();

String colname1 = sheet.getCell(0, 0).getContents().trim();

String colname2 = sheet.getCell(1, 0).getContents().trim();

String colname3 = sheet.getCell(2, 0).getContents().trim();

System.out.println(colname1+","+colname2+","+colname3);

for (int z = 1; z < rows; z++)

{

//0代表列数,z代表行数

String name = sheet.getCell(0, z).getContents();

String sex = sheet.getCell(1, z).getContents();

String ID = sheet.getCell(2, z).getContents();

相关文档
最新文档