利用JXL读取Excel文件
先准备文件名为myexcel的excel文件,格式如下:
?
在myeclipse中新建一个web project项目:MyExcelProject,导入jxl.jar包(将这个包复制到工程Webroot下的WEB_INF下的lib中,或是在工程中导入jxl.jar包。)
新建MyNews实体类:
代码如下:
public class MyNews {private int id;private String title;private String author;private String acontent;public int getId() {return id;}public void setId(int id) {this.id = id;}public String getTitle() {return title;}public void setTitle(String title) {this.title = title;}public String getAuthor() {return author;}public void setAuthor(String author) {this.author = author;}public String getAcontent() {return acontent;}public void setAcontent(String acontent) {this.acontent = acontent;}}
?
?
?
新建读取Excel文件的测试类:ExcelTest
代码如下:
import java.io.FileInputStream;import java.io.InputStream;import java.util.ArrayList;import java.util.List;import jxl.Sheet;import jxl.Workbook;/** * 先了解下知识点(3个对象以及4个步骤) * Excel文件中的对象---》相应的在JXL中的对象 * 1、文件对象- ---》Workbook * 2、工作簿对象---》Sheet * 3、单元格对象---》Cell * * 步骤: * 1、选取Excel文件 * 2、选择工作簿 * 3、选择Cell * 4、读取信息 * * 作者: ye_haiqiang * 时间:2011.11.4 * * JXL提供了一些Cell类的子类用来分别用来表示各种类型的单元格,如LabelCell,NumberCell,DateCell分别表示字符、数值、日期类型的单元格 */public class ExcelTest {public static void main(String a []){List list=new ArrayList(); Workbook workbook=null; try { //读取Excel文件,放入流中 InputStream excel_file=new FileInputStream("f:/myexcel.xls"); //通过Workbook的静态方法getWorkbook选取Excel文件 workbook=Workbook.getWorkbook(excel_file); //通过Workbook的getSheet方法选择第一个工作簿(从0开始) Sheet sheet=workbook.getSheet(0); /** //获取工作薄个数 int sheetsnumber = workbook.getNumberOfSheets(); //得到列数 int columnum = sheet.getColumns(); */ //得到行数 int rownum = sheet.getRows(); for(int i=1;i<rownum;i++)//如第一行为属性项则从第二行开始取数据(int i=0 ;i <rsRows;i++) { String title=sheet.getCell(0,i).getContents(); String author=sheet.getCell(1,i).getContents(); String acount=sheet.getCell(2,i).getContents(); MyNews mynews=new MyNews(); mynews.setTitle(title); mynews.setAuthor(author); mynews.setAcontent(acount); list.add(mynews); } } catch(Exception e) { e.printStackTrace(); } finally { workbook.close(); } System.out.println("Title\tAuthor\tAContent"); for(int i=0;i<list.size();i++) { MyNews mynews=(MyNews)list.get(i); System.out.println(mynews.getTitle()+"\t"+mynews.getAuthor()+"\t"+mynews.getAcontent()); }}}
?
提供了JXL.jar文件下载~
?
每天一点点希望对大家有利
?
?