您的当前位置:首页正文

Java读取Excel文件的几种方法

2024-02-28 来源:布克知识网


Java读取Excel文件的几种方法

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

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

JDBC-ODBC Excel Driver

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

1、 JDBC-ODBC Excel Driver

这种方法是将excel看成是数据库进行操作,使用SQL Select语句即可查询excel表格。优点是:不需要第三方的jar包。

如下表样

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

具体方法如下:

下面就是代码了。

package xuzhe;

import .*;

import .*;

2.6.10E:\\ecli

pse3.6.2\\workspace\\CrazyJava\\lib\\

public class ExcelJXL

{

static String sourceFile = \"c:\\\\\"; etContents().trim();

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

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

\

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

{

etContents();

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

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

\

}

}

catch(Exception e)

{

();

}

}

}

执行结果如下:

2、 是日本人开发的,也是一个开源项目,下载地址:projects/jcom/files/latest/download

将拷贝到classlib目录下,将放到你的JAVA_HOME/bin目录下,否则会出现下面错误。

程序如下:

package xuzhe;

import class ExcelJCOM {

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

JCOMReadExcel(); JCOMCreateExcel();

}

static void JCOMReadExcel()

{

ReleaseManager rm = new ReleaseManager();

try

{

\"EXCEL startup...\");

.\");

.\");

ExcelWorksheets xlSheets = ();

ExcelWorksheet xlSheet = (1);

ExcelRange xlRange = ();

(1,1).Value(\"filename\" );

(2,1).Value(\"size\" );

(3,1).Value(\"last modified time\");

(4,1).Value(\"is directory\");

(5,1).Value(\"is file\");

(6,1).Value(\"can read\");

(7,1).Value(\"can write\");

File path = new File(\"./\");

String[] filenames = ();

for(int i=0; i<; i++) {

File file = new File(filenames[i]);

(1,i+2).Value( () );

(2,i+2).Value( (int)() );

(3,i+2).Value( new Date()) );

(4,i+2).Value( ()\"Yes\":\"No\" );

(5,i+2).Value( ()\"Yes\":\"No\" );

(6,i+2).Value( ()\"Yes\":\"No\" );

(7,i+2).Value( ()\"Yes\":\"No\" );

}

char start = 'B';

char end = (char)((byte)start + - 1);

\"end=[\" + end + \"]\");

String expression = \"=Sum(B2:\" + (end) + \"2)\";

\"expression=[\" + expression + \"]\");

(\"embed equation, calculate sum of filesize: \"+expression);

(1,+2).Value(\"sum\");

(2,+2).Formula(expression);

().AutoFit(); .\");

. (My Documents)\\\\\");

(\"\");

(false,null,false);

();

\"thank you .\");

}

catch(Exception e) { (); }

finally { (); }

}

}

执行结果如下:

3、 是apache旗下的一个开源项目,下载地址:

程序如下:

package xuzhe;

import class ExcelPOI {

/**

* @param args

* @throws IOException

* java

*/

@SuppressWarnings(\"deprecation\")

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

etCellValue(\"HelloWorld\");

FileOutputStream fileOut = new FileOutputStream(\"c:\\\\\");

(fileOut);

();

}

private static HSSFWorkbook readFile(String filename) throws IOException {

return new HSSFWorkbook(new FileInputStream(filename));

}

public static void POIReadExcel() throws IOException

{

String fileName = \"c:\\\\\";

HSSFWorkbook wb = (fileName);

\"Data dump:\\n\");

for (int k = 0; k < (); k++)

{

HSSFSheet sheet = (k);

int rows = ();

\"Sheet \" + k + \" \\\"\" + (k) + \"\\\" has \" + rows

+ \" row(s).\");

for (int r = 0; r < rows; r++)

{

HSSFRow row = (r);

if (row == null) {

continue;

}

int cells = ();

\"\\nROW \" + () + \" has \" + cells

+ \" cell(s).\");

for (int c = 0; c < cells; c++)

{

HSSFCell cell = (c);

String value = null;

switch ())

{

case :

value = \"FORMULA value=\" + ();

break;

case :

value = \"NUMERIC value=\" + ();

break;

case :

value = \"STRING value=\" + ();

break;

default:

}

\"CELL col=\" + () + \" VALUE=\"

+ value);

}

}

}

}

}

执行结果如下:

以上就是我的一点心得体会,有误的地方请指正,来信发。

因篇幅问题不能全部显示,请点此查看更多更全内容