java 怎么读xlsx文件

以前可以用jxl架包读xls文件的
不知道2007的xlsx文件怎么读写
有什么方法或者api可以查询吗
非常感谢
网上找了一个例子 和poi包,但是试的时候显示workfactory找不到
有人知道是什么原因呢
或者能不能发个poi包给我呢
liang1wu艾特126.com
非常感谢

需要jxl的包

//打开文件
Workbook book = Workbook.getWorkbook(new File(path)) ;
//取得第一个sheet
Sheet sheet = book.getSheet(0);
int rows = sheet.getRows();
//i和j是你要的行和列

Cell [] cell = sheet.getRow(i);
Cell cloumn_cell = sheet.getCell(j, i);
//str是你的内容

String str = cloumn_cell.getContents();

方法有点老了 不知道能不能帮到你
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-09-04
package rw_excel;

import static org.junit.Assert.*;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;

import org.apache.poi.hssf.extractor.ExcelExtractor;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.usermodel.WorkbookFactory;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;

public class test_poi {

@BeforeClass
public static void setUpBeforeClass() throws Exception {
}

@AfterClass
public static void tearDownAfterClass() throws Exception {
}

@Test
public void test() throws IOException {
// fail("Not yet implemented");
String file_dir = "test.xlsx";
Workbook book = null;
book = getExcelWorkbook(file_dir);
Sheet sheet = getSheetByNum(book,0);

int lastRowNum = sheet.getLastRowNum();

System.out.println("last number is "+ lastRowNum);

for(int i = 0 ; i <= lastRowNum ; i++){
Row row = null;
row = sheet.getRow(i);
if( row != null ){
System.out.println("reading line is " + i);
int lastCellNum = row.getLastCellNum();
System.out.println("lastCellNum is " + lastCellNum );
Cell cell = null;

for( int j = 0 ; j <= lastCellNum ; j++ ){
cell = row.getCell(j);
if( cell != null ){
String cellValue = cell.getStringCellValue();
System.out.println("cell value is \n" + cellValue);
}
}
}
}

}

public static Sheet getSheetByNum(Workbook book,int number){
Sheet sheet = null;
try {
sheet = book.getSheetAt(number);
// if(sheet == null){
// sheet = book.createSheet("Sheet"+number);
// }
} catch (Exception e) {
throw new RuntimeException(e.getMessage());
}
return sheet;
}
public static Workbook getExcelWorkbook(String filePath) throws IOException{
Workbook book = null;
File file = null;
FileInputStream fis = null;

try {
file = new File(filePath);
if(!file.exists()){
throw new RuntimeException("文件不存在");
}else{
fis = new FileInputStream(file);
book = WorkbookFactory.create(fis);
}
} catch (Exception e) {
throw new RuntimeException(e.getMessage());
} finally {
if(fis != null){
fis.close();
}
}
return book;
}
//
}
第2个回答  2013-09-13
高版本的jxl好像是可以的  老版本的jar包只支持2003
解析Excel还可以用Apache POI  ,这个支持新老版本的Excel,非常好用。

第3个回答  2013-09-13
其实这个很简单的啊,jxl同样可以读取2007的,
第4个回答  2013-09-13
可以apache 的poi框架,他的官网上有api,操作还挺简单的

浅谈JAVA读写Excel的几种途径
一、在开始进行Java读写Excel前,需要先下一个jxl的jar包,这个jar包中提供了相关读写Excel的方法,将jxl.jar放到classpath下或者在工程的buildpath中添加jxl.jar后,便可以开始Java读写Excel了。二、Java读取Excel数据,首先,创建一个xls文件(如:jxltest.xls),然后在文件中添加一些数据,Excel文件创...

java 怎么读xlsx文件
需要jxl的包 \/\/打开文件 Workbook book = Workbook.getWorkbook(new File(path)) ;\/\/取得第一个sheet Sheet sheet = book.getSheet(0);int rows = sheet.getRows();\/\/i和j是你要的行和列 Cell [] cell = sheet.getRow(i);Cell cloumn_cell = sheet.getCell(j, i);\/\/str是你的内容 ...

java 怎么读xlsx文件
需要jxl的包 \/\/打开文件 Workbook book = Workbook.getWorkbook(new File(path)) ;\/\/取得第一个sheet Sheet sheet = book.getSheet(0);int rows = sheet.getRows();\/\/i和j是你要的行和列 Cell [] cell = sheet.getRow(i);Cell cloumn_cell = sheet.getCell(j, i);\/\/str是你的内容 ...

java如何读取整个excel文件的内容
import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.text.DecimalFormat;import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.Arrays;import java.util.Date;import java.util.List;import org.apa...

java中怎样从Excel中读写数据
public class ReadExcel001 { public static void main(String[] args) { readXml("D:\/test.xlsx"); System.out.println("---"); readXml("d:\/test2.xls"); } public static void readXml(String fileName){ boolean isE2007 = false; \/\/判断是否是excel2007格式...

java如何读取一个加密后的.xls文件
B. OpenXML(ECMA-376) 加密文档的读取 1. 通常来说,xlsx文件相当于一个zip文件,可以用zip程序,直接打开。而在加密后,为了安全性考虑,微软使用了 structured storage(一种OLE文档存储方式)存储(可以用7-zip或者OLE document viewer打开,windows也有相应API来操作此类结构)。在上述文档中,有一个...

java 读取.xlsx文件 我需要去读到每一行的每一个数据。 然后操作一番...
java 读取excel是吧 网上有很多示例代码的 基本上先是 从本地获取文件 然后 转成文件流然后解析成ArrayList 解析代码网上有 解析成ArryList之后么 就随便你按格式拼装了

java如何读写excel2010
if (fileName.matches("^.+\\\\.(?i)(xlsx)$")){ isExcel2003 = false;} \/** *\/\/** 检查文件是否存在 *\/ File file = new File(fileName);if (file == null || !file.exists()){ return dataLst;} try { \/** *\/\/** 调用本类提供的根据流读取的方法 *\/ dataLst = read(...

java利用poi读大数据量xlsx除了用xml方式读取外,还有其他方法吗_百度知 ...
poi是把excel当做【文档】来处理的,自然只有XSSFWorkbook类来操作它,也就是你说的xml方式。在poi的眼里,excel文档里的并不是【数据】而是【表格】。你如果想要把excel当做【数据源】来处理,应该用odbc的方式,将你需要的excel文件变成一个odbc数据源,然后用ResultSet set = smt.executeQuery("select...

java poi读取xls数据是出错
public static void main(String[] args) throws IOException, SQLException { try{ File f = new File("c:\\\\sid列表.xls");InputStream input = new FileInputStream(f);POIFSFileSystem fs = new POIFSFileSystem(input);HSSFWorkbook wb = new HSSFWorkbook(fs);HSSFSheet sheet = wb.get...

相似回答