即两张导入的EXECL表格数据,如A表和B表,选择A表在上传时先要检查EXCEL工作簿内容是否为空,选择参数条件取某一行标记为表头,在选择某一列作为原始的对比参数数据,B表也是定义一行表头和对碰的列作为对比参数,如果表头遇到上下合并列,取当前选择的行的表头,左右合并的列(目前暂不会出现)取靠前的列表头和内容数据,两张表此列进行对比,把相同列这一行的数据整合成另外一张EXCEL表格,两张表相同的一列数据放在EXCEL表格的第一列,或者两张表把相同的那一列数据用不同的颜色标记出来。注:表头显示A、B的表头,顺序是A表显示,后面追加B表的表头(即A、B表的表头要保持原来的一致)。如:
A表:选中 第“2”行作为表头“A”列作为参考条件。
1 A B C
2 编号 名称 地址
3 001 AAA 中山库充大道1
4 002 BBB 中山库充大道2
5 003 CCC 中山库充大道3
6 004 DDD 中山库充大道4
7 005 EEE 中山库充大道5
查询条件:行数、列数。
B表:选中 第“2”行作为表头“B”列作为参考条件。
1 A B C
2 创建时间 编号 任务名称
3 2011-06-28 1001 测试1
4 2011-06-27 1002 测试2
5 2011-06-29 001 测试3
6 2011-06-30 002 测试4整合后输出效果(相同列用颜色标记出来):
1 A B C D E F
2 编号 名称 地址 创建时间 编号 任务名称
3 001 AAA 中山库充大道1 2011-06-29 001 测试1
4 002 BBB 中山库充大道2 2011-06-30 002 测试2
5 或者(相同列排列在最前面):
1 A B C D F
2 编号 名称 地址 创建时间 任务名称
3 001 AAA 中山库充大道1 2011-06-29 测试1
4 002 BBB 中山库充大道2 2011-06-30 测试2
5
A表:选中 第“2”行作为表头“A”列作为参考条件。
1 A B C
2 编号 名称 地址
3 001 AAA 中山库充大道1
4 002 BBB 中山库充大道2
5 003 CCC 中山库充大道3
6 004 DDD 中山库充大道4
7 005 EEE 中山库充大道5
查询条件:行数、列数。
B表:选中 第“2”行作为表头“B”列作为参考条件。
1 A B C
2 创建时间 编号 任务名称
3 2011-06-28 1001 测试1
4 2011-06-27 1002 测试2
5 2011-06-29 001 测试3
6 2011-06-30 002 测试4整合后输出效果(相同列用颜色标记出来):
1 A B C D E F
2 编号 名称 地址 创建时间 编号 任务名称
3 001 AAA 中山库充大道1 2011-06-29 001 测试1
4 002 BBB 中山库充大道2 2011-06-30 002 测试2
5 或者(相同列排列在最前面):
1 A B C D F
2 编号 名称 地址 创建时间 任务名称
3 001 AAA 中山库充大道1 2011-06-29 测试1
4 002 BBB 中山库充大道2 2011-06-30 测试2
5
解决方案 »
- JSP:forward 页面可以跳转,参数却传不过去
- listener和load-on-startup的顺序
- 上海招聘Java Web高级工程师(欢迎想跳槽的高手来面试)
- 在一个被include的页面里进行forward跳转失败
- 求救:液晶字体的显示
- 关于使用java script实现下拉菜单的问题!
- 用JB怎么把文件上传FTP服务器?
- jfreechart问题,编译通过,运行出现问题(急!!!!在线等...........)
- ?????主题:写BLOB字段出现问题,解决不了
- 如何在ASP中将javascript中的变量值赋给<%...%>中的变量?
- jquery ajax 自动补全(google suggest) 在线等 100分 可加分
- 取clob类型字段数据时报错--java.sql.SQLException: 不支持的特性
============
try {
Workbook book = Workbook.getWorkbook("B表.xls");
Sheet[] sheets = book.getSheets();
for(int i = 0;i<sheets.length;i++){
Sheet sheet = sheets[i];//每个sheet
int rows = sheet.getRows();
int columns =sheet.getColumns();
if(columns<=0){
continue;//为空时。
}else{
String createD = sheet.getCell(0, 1).getContents().trim();
String orderno = sheet.getCell(1, 1).getContents().trim();
String taskname = sheet.getCell(2, 1).getContents().trim();
if(createD.equalsIgnoreCase("创建时间")
&&orderno.equalsIgnoreCase("编号")
&&taskname.equalsIgnoreCase("任务名称")){
for(int j=2;j < rows;j++){
createD = sheet.getCell(0, j).getContents().trim();
orderno = sheet.getCell(1, j).getContents().trim();
taskname = sheet.getCell(2, j).getContents().trim();
tallB.put(orderno,new String[]{createD,taskname});
}
}
}
}
book.close();
} catch (Exception e) {
e.printStackTrace();
}
}
===============
try {
WritableWorkbook newbook = Workbook.createWorkbook(new File("newFile.xls"));
WritableSheet newsheet = newbook.createSheet(" Sheet 1 ", 0);
// 设置字体样式
WritableFont wfc = new WritableFont(WritableFont.ARIAL, 13,
WritableFont.BOLD, false,
jxl.format.UnderlineStyle.NO_UNDERLINE,
jxl.format.Colour.BLACK);
WritableCellFormat wcfFC = new WritableCellFormat(wfc);
newsheet.addCell(new Label(0, 0, "A ", wcfFC));
newsheet.addCell(new Label(1, 0, "B ", wcfFC));
newsheet.addCell(new Label(2, 0, "C ", wcfFC));
newsheet.addCell(new Label(3, 0, "D ", wcfFC));
newsheet.addCell(new Label(4, 0, "E ", wcfFC));
Label neworderno = new Label(0, 1, " 编号 ", wcfFC);
Label newtitle = new Label(1, 1, " 描述 ", wcfFC);
Label newaddress = new Label(2, 1, " 单位 ", wcfFC);
Label newcreate = new Label(3, 1, " 创建时间 ", wcfFC);
Label newtaskname = new Label(4, 1, " 任务名称 ", wcfFC);
newsheet.addCell(neworderno);
newsheet.addCell(newtitle);
newsheet.addCell(newaddress);
newsheet.addCell(newcreate);
newsheet.addCell(newtaskname);
int newIndex=2; Workbook book = Workbook.getWorkbook("A表.xls");
Sheet[] sheets = book.getSheets();
for(int i = 0;i<sheets.length;i++){
Sheet sheet = sheets[i];//每个sheet
int rows = sheet.getRows();
int columns =sheet.getColumns();
if(columns<=0){
continue;//为空时。
}else{
String orderno = sheet.getCell(0, 1).getContents().trim();
String title = sheet.getCell(1, 1).getContents().trim();
String address = sheet.getCell(2, 1).getContents().trim();
if(orderno.equalsIgnoreCase("编号")
&&title.equalsIgnoreCase("名称")
&&address.equalsIgnoreCase("单位")){
for(int j=2;j < rows;j++){
orderno = sheet.getCell(0, j).getContents().trim();
title = sheet.getCell(1, j).getContents().trim();
address = sheet.getCell(2, j).getContents().trim();
if(TestInculd(orderno)!=null) {
newsheet.addCell(new Label(0, newIndex, orderno ));
newsheet.addCell(new Label(1, newIndex, title ));
newsheet.addCell(new Label(2, newIndex, address ));
newsheet.addCell(new Label(3, newIndex, TestInculd(orderno)[0] ));
newsheet.addCell(new Label(4, newIndex, TestInculd(orderno)[1] ));
newIndex++;
}
}
}
}
}
book.close();
newbook.write();
newbook.close();
} catch (Exception e) {
e.printStackTrace();
}
public String[] TestInculd(String orderno){
if(tallB!=null){
return tallB.get(orderno);
}else{
return null;
}
}