Java中关于读取Excel

tong_data 2012-05-24 05:50:25
一段小程序,用java读取Excel数据的。
package com.inAndOut;

import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

class ReadIN {
private List<Integer> list = new ArrayList<Integer>();// 存放整数
public List<Integer> input() throws IOException {
BufferedReader in = null;
String str = null;
try {
in = new BufferedReader(new FileReader("./你好.xls"));
} catch (FileNotFoundException e) {
e.printStackTrace();
System.out.println("这是打开文件错误!");
}
str = in.readLine();// 抛弃第一行
while ((str = in.readLine()) != null) {
String[] str2 = str.trim().split("\\s+");//通过空格切分
// 程序运行时出现错误 主要错误
for (int i = 1; i < str2.length; i++) {// 从第二个单元格开始 list.add(Integer.parseInt(str2[i]));
}
}
in.close();
return list;
}
}
public class Yunxing{
public static void main(String[] args){
ReadIN ri=new ReadIN();
List<Integer> list = new ArrayList<Integer>();
list=ri.input();
System.out.println(list);//出现错误
}
}


你好.xls文件如下(星号中的内容为你好.xls表格中的内容):

*****************
行和列 一列 二列 三列 四列
一行 123 456 789 12
二行 45 25 56 32
三行 121 26 56 89
***********

表中的数字都是以数值的形式(注意是数值)存在的。
输出结果错误
...全文
191 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
tong_data 2012-05-25
  • 打赏
  • 举报
回复
xiexie大家了 CSDN就是好 有问题很快就解决了
windows1430 2012-05-25
  • 打赏
  • 举报
回复
怎么不用JXL来处理呢
hy158753228 2012-05-25
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]
jxl.jar 吗? 昨天刚知道可以用jar包处理excel文档 ,
想问一下,用Reader读取出来的String是怎么区分两个单元格的?
[/Quote]
这个xls文件不是一般的流文件,里面有很多MS的文件结构算法什么的。好比MP3文件,你不可能读到的数据就往喇叭上送就出音乐,里面有文件头、帧格式等等结构的。

LZ看下去阿帕奇官网看下POI,那里有例子。或者上网搜JXL,也是很好用的xls文件解析JAR包。
  • 打赏
  • 举报
回复
具体看一下对应包的api吧,可以满足你的需求
tong_data 2012-05-25
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

Reader和BufferReade是用来读取文本文件的
而excel存储的是二进制文件
java解析excel还是用第三方的jar包吧
就像上面提到的JXL、POI、JACOB等
[/Quote]
jxl.jar 吗? 昨天刚知道可以用jar包处理excel文档 ,
想问一下,用Reader读取出来的String是怎么区分两个单元格的?
FantasyStill 2012-05-24
  • 打赏
  • 举报
回复
用过jxl处理excel文档,还是比较简单的
淡定的峰哥 2012-05-24
  • 打赏
  • 举报
回复
Reader和BufferReade是用来读取文本文件的
而excel存储的是二进制文件
java解析excel还是用第三方的jar包吧
就像上面提到的JXL、POI、JACOB等
gelk646944325 2012-05-24
  • 打赏
  • 举报
回复
你程序输出的是什么结果,我怎么觉得好像是乱码呀
gukuitian 2012-05-24
  • 打赏
  • 举报
回复
这倒少见,一个直接输入流操作。。

通常用POI和jxl,真的没自己写过。

62,635

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧