如何用javajava 读取excell中的数据?下面的例子不能读出自己写的excel数据

利用java如何读取Excel中的数据!
我的图书馆
利用java如何读取Excel中的数据!
Java Excel是一开放源码项目,通过它Java开发人员可以读取Excel文件的内容、创建新的Excel文件、更新已经存在的Excel文件。使用该API非Windows操作系统也可以通过纯Java应用来处理Excel数据表。因为是使用Java编写的,所以我们在Web应用中可以通过JSP、Servlet来调用API实现对Excel数据表的访问。Java Excel API 文档&1.:如何从Excel读取数据:package&com.etong.import&java.io.*;import&java.util.*;import&com.roger.util.StringUimport&jxl.Cimport&jxl.Simport&jxl.W/**&*&&p&Title:&&/p&&*&&pre&Description:&Excel数据导入到oracle数据库类.&*&&/pre&&*&&p&Copyright:&Copyright&(c)&2004&/p&&*&&p&Company:&易通技术有限公司&/p&&*&@author&Allen&*&@version&1.0&*/public&class&ExcelImportOracle&{&/**&&*&用于返回三维数组的ArrayList.&&*/&private&static&ArrayList&subdata&=&new&ArrayList();&&/**&&*&Excel中的表名.&&*/&private&static&String&&&/**&&*&文件的路径&&*/&private&static&String&fileP&&/**&&*&该方法为完成读取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.&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++)&{&&&&&ArrayList&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&&}&/**&&*&将读取的Excel的三维数组数据进行对应的数据库表插入操作.&&*&@author&Administrator&&*&@param&data:读取Excel中的数据的数组.&&*&@deprecated:将读取Excel中的数据插入到对应的数据库表中.&&*/&private&static&void&InsertData(ArrayList&data)&{&&try&{&&&String&&&&ArrayList&Contents&=&new&ArrayList();&&&for&(int&i=0;&i&data.size();&i++){&&&&tablename&=&((ArrayList)((ArrayList)data.get(i)).get(0)).get(0).toString();&&&&Contents&=&(ArrayList)((ArrayList)data.get(i)).get(1);&&&&WfdefineDateOperate.currecorde(tablename,Contents);&&&}&&}&catch&(Exception&e)&{&&&e.printStackTrace();&&}&}&/**&&*&得到文件路径;&&*&@return&filePath&&*/&public&String&getFilePath()&{&&return&fileP&}&/**&&*&设置文件路径的位置;&&*&@param&filePath&&*/&public&void&setFilePath(String&filePath)&{&&ExcelImportOracle.filePath&=&fileP&}&&/**&&*&将readExcel方法读出来的三维数组数据转换成二维数组数据.&&*&@param&al&&*&@return&返回二维数组数据.&&*/&public&static&ArrayList&getDisplayData(ArrayList&al)&{&&ArrayList&result&=&new&ArrayList();&&for(int&i&=&0;i&&&al.size();i&++)&&{&&&ArrayList&tmp&=&(ArrayList)((ArrayList)al.get(i)).get(1);&&&&&&for(int&j&=&0;j&&&tmp.size();j&++)&&&{&&&&result.add(tmp.get(j));&&&}&&}&&&&return&&}&/**&&*&@param&args&&*/&public&static&void&main(String[]&args)&{&&&}}
TA的推荐TA的最新馆藏[转]&[转]&
喜欢该文的人也喜欢java如何读取Excel中的数据_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
java如何读取Excel中的数据
阅读已结束,下载文档到电脑
想免费下载本文?
定制HR最喜欢的简历
你可能喜欢Java怎么读取Excel中是数据?【java吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:636,019贴子:
Java怎么读取Excel中是数据?收藏
java,亚马逊网上书城,满59元免运费,好书不间断!700多万种中外正版精品图书一网打尽!买java,就上Z.CN!正版图书,天天低价特惠,让您挚爱阅读!
打错。。Excel中的数据。
poi   -- 像你们这种备胎,就应该好好读书,出来之后好好工作,搬多点砖,看看什么时候能当上工头助理,挣多点钱,这样到时候女神结婚才能多出点份子钱
登录百度帐号推荐应用java 读取模板EXCEL写入数值 -
- ITeye博客
自己写了个读取excel模板的写入数据的列子
package copy.
import java.io.F
import java.io.FileOutputS
import java.io.IOE
import java.sql.C
import java.sql.ResultS
import java.sql.S
import java.util.ArrayL
import java.util.L
import jxl.C
import jxl.S
import jxl.W
import jxl.write.L
import jxl.write.WritableCellF
import jxl.write.WritableS
import jxl.write.WritableW
import jxl.write.WriteE
public class ExcelMain {
* 这个是单纯读取EXCEL数据
void read() {
StringBuffer sb = new StringBuffer();
Workbook wb =
File is = new File("f:\\ExcelTest\\try.xls");
// 获取工作簿对象
wb = Workbook.getWorkbook(is);
if (wb != null) {
// 获取工作簿对象就可以获取工作簿内的工作表对象
Sheet[] sheets = wb.getSheets();
if (sheets != null && sheets.length != 0) {
// 遍历工作簿内所有工作表
for (int i=0;i&sheets.i++) {
// 获取该工作表内的行数
int rows = sheets[i].getRows();
for (int j=0;j&j++) {
String cell ="";
// 获取当前行的所有单元格
Cell[] cells = sheets[i].getRow(j);
if (cells != null && cells.length != 0) {
// 遍历单元格
for (int k=0;k&cells.k++) {
// 获取当前单元格的值
if(!cells[k].getContents().equals("")){
cell += cells[k].getContents();
sb.append(cell + "\t");
System.out.println(cell);
sb.append("\t\n");
sb.append("\t\n");
System.out.println("成功读取了:" +is.getName()+ "\n");
} catch (Exception e) {
e.printStackTrace();
} finally {
wb.close();
* 这是单纯的写EXCEL表格
private void write(){
WritableWorkbook wwb =
Label label =
String file ="f:\\ExcelTest\\3.xls";
// 创建可写入的工作簿对象
wwb = Workbook.createWorkbook(new File(file));
if (wwb != null) {
// 在工作簿里创建可写入的工作表,第一个参数为工作表名,第二个参数为该工作表的所在位置
WritableSheet ws = wwb.createSheet("Sheet4", 2);
if (ws != null) {
/* 添加表结构 */
for (int i=0;i&5;i++) {
for (int j=0;j&5;j++) {
// Label构造器中有三个参数,第一个为列,第二个为行,第三个则为单元格填充的内容
label = new Label(j, i, "第"+(i+1)+"行," + "第"+(j+1)+"列");
// 将被写入数据的单元格添加到工作表
ws.addCell(label);
// 从内存中写入到文件
wwb.write();
System.out.println("路径为:" + file + "的工作簿写入数据成功!");
} catch (Exception e) {
System.out.println(e.getMessage());
} finally {
wwb.close();
} catch (WriteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
* 这个是读取模板写入数据
private void readWriter(){
WritableWorkbook wwb=
WritableSheet wws=
FileOutputStream out =
Connection conn=
Statement st=
ResultSet mySQLRS=
//获取要读取的EXCEL表格模板
File is = new File("f:\\ExcelTest\\try.xls");
String filename="f:\\ExcelTest\\";
//写入到新的表格里
File f=new File(filename,"try1.xls");
//创建新文件
f.createNewFile();
out = new FileOutputStream(f);
//获取工作簿对象
Workbook wb = Workbook.getWorkbook(is);
// 创建可写入的工作簿对象
wwb = Workbook.createWorkbook(out, wb);
//根据工作表名获取WritableSheet对象
wws=wwb.getSheet("Sheet1");
//这个是链接数据库的一个对象
CopyUser cp=new CopyUser();
//获取connection
conn=cp.getMYConnection();
//创建Statement
st=conn.createStatement();
WritableCellFormat wcf=new WritableCellFormat();
//设置样式
wcf.setBorder(jxl.format.Border.ALL,jxl.format.BorderLineStyle.THIN);
mySQLRS=st.executeQuery("select name,officeName from mix_end_user where officeName like '河南%' ");
Label label=
List&String& list=new ArrayList&String&();
while(mySQLRS.next()){
//将数据存放在List当中
list.add(mySQLRS.getString("name"));
int count_02=0;
for(int i=3;i&24;i++){
for(int j=3;j&9;j++){
//创建label对象设置value值j相当于是X轴I是Y轴位置
label= new Label(j,i,list.get(count_02),wcf);
//添加到工作薄中
wws.addCell(label);
count_02++;
//将新建立的工作薄写入到磁盘
wwb.write();
} catch (Exception e) {
e.printStackTrace();
} finally{
wwb.close();
out.close();
mySQLRS.close();
st.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
public static void main(String[] args) {
new ExcelMain().readWriter();
浏览 10590
umbrellall1
浏览: 77456 次
来自: 成都
java实现读取excel模板,往excel中插入数据,用of ...
很有用,感谢!!
感谢打发的
good 正是我想要的,如果楼主可以弄成开源的或者更加精致的话 ...
请教一下,这个效果拖动后,会出现一层黑色的膜,可以怎么去掉呢? ...}

我要回帖

更多关于 java读取大数据excel 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信