java读取excel数据

sdfzq123 贡献于2013-05-07

作者 Administrator  创建于2010-08-23 07:34:00   修改者Windows 用户  修改于2010-08-23 07:34:00字数3834

文档摘要:Java Excel是一开放源码项目,通过它Java开发人员可以读取Excel文件的内容、创建新的Excel文件、更新已经存在的Excel文件。使用该API非Windows操作系统也可以通过纯Java应用来处理Excel数据表。因为是使用Java编写的,所以我们在Web应用中可以通过JSP、Servlet来调用API实现对Excel数据表的访问。
关键词:

利用java读取Excel中的数据! 使用Windows操作系统的朋友对Excel(电子表格)一定不会陌生,但是要使用Java语言来操纵Excel文件并不是一件容易的事。在Web应用日益盛行的今天,通过Web来操作Excel文件的需求越来越强烈,目前较为流行的操作是在JSP或Servlet 中创建一个CSV (comma separated values)文件,并将这个文件以MIME,text/csv类型返回给浏览器,接着浏览器调用Excel并且显示CSV文件。这样只是说可以访问到Excel文件,但是还不能真正的操纵Excel文件,本文将给大家一个惊喜,向大家介绍一个开放源码项目,Java Excel API,使用它大家就可以方便地操纵Excel文件了。 JAVA EXCEL API简介 Java Excel是一开放源码项目,通过它Java开发人员可以读取Excel文件的内容、创建新的Excel文件、更新已经存在的Excel文件。使用该API非Windows操作系统也可以通过纯Java应用来处理Excel数据表。因为是使用Java编写的,所以我们在Web应用中可以通过JSP、Servlet来调用API实现对Excel数据表的访问。 Java Excel API 文档  http://www.andykhan.com/jexcelapi/ 1.应用示例: 如何从Excel读取数据: package com.etong.allen; import java.io.*; import java.util.*; import com.roger.util.StringUtil; import jxl.Cell; import jxl.Sheet; import jxl.Workbook; /** *//**  *

Title:

 *
Description: Excel数据导入到oracle数据库类.   * 
 *

Copyright: Copyright (c) 2004

 *

Company: 易通技术有限公司

 * @author Allen  * @version 1.0  */ public class ExcelImportOracle ...{  /** *//**   * 用于返回三维数组的ArrayList.   */  private static ArrayList subdata = new ArrayList();    /** *//**   * Excel中的表名.   */  private static String tablename;    /** *//**   * 文件的路径   */  private static String filePath;    /** *//**   * 该方法为完成读取Excel中的数据并将数据插入到对应的数据库表中的操作(在调用前需要先调用setFilePath(String)这个方法.).   * @author Administrator   * @param data:读取Excel中的数据的数组.        * @deprecated:将读取Excel中的数据插入到对应的数据库表中.  *    */  public static void ExcelDataImportOracle(String filePath) throws Exception ...{   try ...{    ArrayList al = readExcel(filePath);    InsertData(al);      } catch (Exception e) ...{    e.printStackTrace();   }  }  /** *//**   * 读取Excel中的数据.将这些数据放入到一个三维数组中.   * @author Administrator   * @param filePath 文件路径.   * @deprecated:读取Excel中的数据将它放入到ArrayList数组中(此为三维数组).   */  public static ArrayList readExcel(String filePath) ...{   try ...{    subdata.clear();//将静态ArrayList数组清空.(如果不清空原数据会不断累加)    InputStream is = new FileInputStream(filePath);    Workbook rwb = Workbook.getWorkbook(is);    // Sheet st = rwb.getSheet(0);//这里有两种方法获取sheet表,1为名字,而为下标,从0开始    // Sheet st = rwb.getSheet("Book1");// Excel中第一页的页名称.    Sheet st[] = rwb.getSheets();// 得到所有Excel中页的列表.    for (int a = 0; a < st.length; a++) ...{     ArrayList alList = new ArrayList();     ArrayList tablenames = new ArrayList();     ArrayList tableAndContents = new ArrayList();     tablename = st[a].getName().trim();     int b = 0;     for (int i = 1; i < st[a].getRows(); i++) ...{      A rrayList al = new ArrayList();      for (int j = 0; j < st[a].getColumns(); j++) ...{       Cell c00 = st[a].getCell(j, i);       // 通用的获取cell值的方式,返回字符串       String strc00 = StringUtil.toISO(c00.getContents().trim());       // 获得cell具体类型值的方式得到内容.       al.add(j, strc00);      }      alList.add(b, al);      b++;     }     tablenames.add(tablename);     tableAndContents.add(0, tablenames);     tableAndContents.add(1, alList);     subdata.add(a, tableAndContents);    }    rwb.close();    // 关闭    //System.out.println(subdata);// 输出   } catch (Exception e) ...{    e.printStackTrace();   }   finally   ...{    //删除上传文件    File file = new File(filePath);    boolean result = false;        if(file.exists())    ...{     result = file.delete();    }    else    ...{     System.out.println("文件没有找到,无法删除!");    }         if(result)    ...{     System.out.println("删除成功!");    }    else    ...{     System.out.println("删除失败!");    }   }   return subdata;  }  /** *//**   * 将读取的Excel的三维数组数据进行对应的数据库表插入操作.   * @author Administrator   * @param data:读取Excel中的数据的数组.   * @deprecated:将读取Excel中的数据插入到对应的数据库表中.   */  private static void InsertData(ArrayList data) ...{   try ...{    String tablename;    ArrayList Contents = new ArrayList();    for (int i=0; i

下载文档到电脑,查找使用更方便

文档的实际排版效果,会与网站的显示效果略有不同!!

需要 3 金币 [ 分享文档获得金币 ] 1 人已下载

下载文档