importjava.io.File;importjava.util.Set;importjxl.Cell;importjxl.Sheet;importjxl.Workbook;importjxl.write.Label;importjxl.write.WritableSheet;importjxl.write.WritableWorkb...
import java.io.File;
import java.util.Set;
import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
import jxl.write.Label;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
public class EqualMerge {
public static void main(String args[]) {
try {
WritableWorkbook toBook = Workbook.createWorkbook(new File("test1.xls")); //导出比较结果
WritableSheet toSheet = toBook.createSheet("结果 ", 0); //导出工作表名
Workbook fromBook = Workbook.getWorkbook(new File("test.xls")); //导入Excel表
Sheet sheet = fromBook.getSheet(0); //读第一个工作表
Cell cell1 = null; //单元格1
Cell cell2 = null;; //单元格2
int rownum = sheet.getRows(); //获取行数
int columnum = sheet.getColumns();// 得到列数
int counter = 0;
for (int i = 0; i < rownum; i++) {
for(int a=0;a
if(a==1) //这里去掉2、3列,因为EXCEL这两列内容是不需要的
a+=1;
cell1 = sheet.getCell(a, i); //获取(a++)列(i++)行的单元格
for (int j = 0; j < rownum; j++) {
cell2 = sheet.getCell(1, j);//获取(2)列(j++)行的单元格
if (cell1.getContents().equals(cell2.getContents())) {
System.out.println(cell2.getContents());
toSheet.addCell(new Label(0, counter, cell2
.getContents()));
counter++;
}
}
}
}
toBook.write();
fromBook.close();
toBook.close();
} catch (Exception e) {
System.out.println(e);
}
}
}
我想要:1、不在同一行的不进行比较,即使内容一样也不写入test1.xls。如:A列中的第2行与B列中的第3行都为“哈”也不算数)。 2、test.xls 里面的B列为整数(其他列字符长度的需求描述),其他列都为字符串。所以我想把其他列的字符串都转为字符长度,然后跟B列比,看是不是在B的长度范围内。 本人新人小白,这两问题弄了一天了还没弄不出来,求各位大神帮忙! 我在想可不可以每列输入到数组里,然后数组间比较?当然能出效果就行。第一次提问,财富。。。
展开