我的要求是使用Apache POI將HashMap寫入excel,hashmap中的鍵是我的cell-id,hashmap中的值是要設置到該單元格中的值。 下面是我的代碼:將HashMap寫入Excel
public static final String[] ExcelColumns = {"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O",
"P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "AA", "AB", "AC", "AD", "AE", "AF", "AG", "AH", "AI",
"AJ", "AK", "AL", "AM", "AN", "AO", "AP", "AQ", "AR", "AS", "AT", "AU", "AV", "AW", "AX", "AY", "AZ", "BA",
"BB", "BC", "BD", "BE", "BF", "BG", "BH", "BI", "BJ", "BK", "BL", "BM", "BN", "BO", "BP", "BQ", "BR", "BS",
"BT", "BU", "BV", "BW", "BX", "BY", "BZ", "CA", "CB", "CC", "CD", "CE", "CF", "CG", "CH", "CI", "CJ", "CK", "CL", "CM",
"CN", "CO", "CP", "CQ", "CR", "CS", "CT", "CU", "CV", "CW", "CX", "CY", "CZ", "DA", "DB", "DC", "DD", "DE", "DF", "DG",
"DH", "DI", "DJ", "DK", "DL", "DM", "DN", "DO", "DP", "DQ", "DR", "DS", "DT", "DU", "DV", "DW", "DX", "DY", "DZ"};
public static int row(Map.Entry pair) {
//System.out.println("The row is:"+k);
return new Integer(pair.getKey().toString().substring(1));
}
public static int column(Map.Entry pair) {
String indexVal = pair.getKey().toString().substring(0, 1);
String[] ExcelColumns = CompareExcelDAO.ExcelColumns;
int index = 0;
for (int i = 0; i < ExcelColumns.length; ++i) {
if (indexVal.equals(ExcelColumns[i])) {
index = i;
}
}
return index+1;
}
public void CopyContentsOfExcel(HSSFWorkbook workbook, HSSFSheet sheet,
String ExcelPath_1, int i, HashMap getMismatchMap)
throws IOException {
int rownum = sheet.getLastRowNum()+2; // to check last used row in Excel
//CompareExcelDAO mapDao = new CompareExcelDAO();
Iterator it1 = getMismatchMap.entrySet().iterator();
while (it1.hasNext()) {
Map.Entry pair = (Map.Entry) it1.next();
int r = row(pair) + rownum;
int c= column(pair);
System.out.println("c = "+c+" r = "+r);
System.out.println("Key: "+pair.getKey()+" "+"Value: "+pair.getValue());
sheet.createRow(r).createCell(c).setCellValue(pair.getValue().toString());
}}
的問題是它的打印只有一對鍵/值的成兩個固定的細胞,在調試模式下然而按預期當我只打開片顯示了所有行/列的值打印一個值。 http://www.tagwith.com/question_1103031_printing-a-hashmap-to-excel-using-jxl-api,本網站提供了一種使用jxl將Hashmap寫入Excel的方式,但是我的所有項目都使用Apache POI。
我想比較兩個excel並在第三個excel表單中寫入差異 – 2015-03-20 08:18:31