乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > Java <em>POI</em>读取Excel的时候怎么按列读取-poi 写excel,poi

Java <em>POI</em>读取Excel的时候怎么按列读取-poi 写excel,poi

作者:乔山办公网日期:

返回目录:excel表格制作


等晚上我来回答,或者你可以先到我博客看看,我专门开了一个POI讲座.

HSSFSheet sheet = wb.getSheetAt(0);
int iCol = 1;
int iMaxRow = 10;
HSSFRow row = sheet.getRow(0);
for(int j=0 ; j < iMaxRow ; j++ ){
HSSFCell cell = sheet.getRow(j).getCell((short)iCol);
}




//看到你的问题有点晚了,呵呵!以下是我写的小demo ,希望可以帮到你。	
public static void main(String[] args) throws IOException {

FileOutputStream fos = new FileOutputStream("D:\\12.xls");

String[] str=new String[]{"A1","B2","C3","D4","E5","F6"};

Workbook workbook = new HSSFWorkbook();
Sheet sheet = workbook.createSheet("demo1");
//创建e68a84e8a2ad7a64332第一行
Row rowHeader = sheet.createRow(0);
for (int i = 0; i < str.length; i++) {
//写入列头
Cell cell = rowHeader.createCell(i);
cell.setCellValue(str[i]);

}
Map<String, List<String>> map = getExcelData();
//创建第二行
Row row = sheet.createRow(1);
int k=0;
for (String mapKey : map.keySet()) {
List<String> list = map.get(mapKey);
//比对列头
if (mapKey.equals(str[k])) {
Cell cell= row.createCell(k);
StringBuilder builder=new StringBuilder();
for (String listStr : list) {
builder.append(listStr);
}
cell.setCellValue(builder.toString());
}
k++;
}
workbook.write(fos);
fos.close();
}


public static Map<String, List<String>> getExcelData() {

Map<String, List<String>> map = new HashMap<String, List<String>>();
List<String> list1 = new ArrayList<String>();
list1.add("A1");
list1.add("B1");
list1.add("C1");
list1.add("D1");
list1.add("E1");
list1.add("F1");
map.put("A1", list1);
List<String> list2 = new ArrayList<String>();
list2.add("A2");
list2.add("B2");
list2.add("C2");
list2.add("D2");
list2.add("E2");
list2.add("F2");
map.put("B2", list2);
List<String> list3 = new ArrayList<String>();
list3.add("A3");
list3.add("B3");
list3.add("C3");
list3.add("D3");
list3.add("E3");
list3.add("F3");
map.put("C3", list3);
List<String> list4 = new ArrayList<String>();
list4.add("A4");
list4.add("B4");
list4.add("C4");
list4.add("D4");
list4.add("E4");
list4.add("F4");
map.put("D4", list4);
List<String> list5 = new ArrayList<String>();
list5.add("A5");
list5.add("B5");
list5.add("C5");
list5.add("D5");
list5.add("E5");
list5.add("F5");
map.put("E5", list5);
List<String> list6 = new ArrayList<String>();
list6.add("A6");
list6.add("B6");
list6.add("C6");
list6.add("D6");
list6.add("E6");
list6.add("F6");
map.put("F6", list6);
return map;
}
//分析了一下你失败的原因,可能是在每次循环都是在创建同一个row,这样的话每次都会覆盖上一个row 。修改方案将创建row放在循环之外。

相关阅读

关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网