jxl读取excel

jie_20 2010-11-26 10:32:29
public static void main(String[] args) {
try {
Workbook workbook = null;
try {
workbook = Workbook.getWorkbook(new File(
"F:\\(20100268号存量)测试案例.xls"));
} catch (Exception e) {
throw new Exception("file to import not found!");
}
int sheetSize = workbook.getNumberOfSheets();
Sheet sheet = null;

for (int i = 0; i < sheetSize; i++) {
sheet = workbook.getSheet(i);
}
Cell cell = null;

List list = new ArrayList();
int rowCount = sheet.getRows();
Class proj = project.class;
// 根据class对象获取属性
Field[] fields = proj.getDeclaredFields();
project proj1[] = new project[rowCount];
for (int i = 2; i < sheet.getRows(); i++) {
proj1[i] = new project();
for (int j = 0; j < sheet.getColumns(); j++) {
cell = sheet.getCell(j, i);// 获取单元格对象

String propertity = fields[j].getName().substring(0,
fields[j].getName().length());


proj1[i] = getProject(propertity, cell.getContents(),
proj1[i]); //java反射造对象

}
list.add(proj1[i]);
}

workbook.close();
System.out.println(list.size());
for (int i = 0; i < list.size(); i++) {
project p = (project) list.get(i);
System.out.println("pid=" + p.getPid());
}
} catch (Exception e) {
e.printStackTrace();
}
}


打印结果:

15
pid=日终网点签退统计-001
pid=
pid=
pid=日终网点签退统计-002
pid=
pid=
pid=日终网点签退统计-003
pid=
pid=
pid=日终网点签退统计-004
pid=
pid=
pid=日终网点签退统计-005
pid=
pid=



现在有合并单元格的垃圾数据.我现在想每次都拿一行,赋给对象,然后判断.pid是否为空.在做操作,现在怎么拿到行进行操作呢?
...全文
130 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
jie_20 2010-11-27
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 raulchenbest 的回复:]
jxl应该有合并的方法吧
[/Quote]
恩恩.是有呢.它是按Cell坐标取得.不好往对象里插入.
huangdaxiang0726 2010-11-26
  • 打赏
  • 举报
回复
可以用map<key,value> KEY 为行标 ,value为一行的数据 就是这一行每个cell的值
这里也可以存成一个map<key,value> key为列标,value为cell的值,这样结构就很清晰了
Map<ROWINDEX,MAP<CELLINDEX,CELLVALUE>>
ferrarij 2010-11-26
  • 打赏
  • 举报
回复
在第一层按行数循环中,获取每一行,判断返回的数组大小是否为0
吓大的 2010-11-26
  • 打赏
  • 举报
回复
关注 我现在正在学jxl导出excel
raulchenbest 2010-11-26
  • 打赏
  • 举报
回复
jxl应该有合并的方法吧
Payden 2010-11-26
  • 打赏
  • 举报
回复
自己也要学这个毕业设计要设计到这个方面的内容啊!
jie_20 2010-11-26
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 huangdaxiang0726 的回复:]
可以用map<key,value> KEY 为行标 ,value为一行的数据 就是这一行每个cell的值
这里也可以存成一个map<key,value> key为列标,value为cell的值,这样结构就很清晰了
Map<ROWINDEX,MAP<CELLINDEX,CELLVALUE>>
[/Quote]


不了解,写出来.看看.
jie_20 2010-11-26
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 ferrarij 的回复:]
在第一层按行数循环中,获取每一行,判断返回的数组大小是否为0
[/Quote]

?什么情况./?

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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