Я хочу создать сводный столбец в Excel в Java. Я определил, какой столбец должен быть опорным. Пожалуйста, найдите ниже код Java:
В этом коде: m содержит мои извлеченные данные из базы данных как
m {2 = {}, 3 = {}, 4 = {}, 5 = {}, 6 = {}, 7 = {}, 8 = {}, 9 = {First_Name = Gary},
10 = {Last_Name = xyz}, 11 = {Job = IT}
и после итерации s tr1:contains key(header)
и str2:contains value(means data)
, как показано ниже:
Str1: First_Name
Str2: Gary
Str1: First_Name
Str2: хуг
Str1: Работа
Str2: IT
......
прошу вас помочь мне в этом ..
public static void PivotTable(Map m) {
System.out.println("m: "+m);
Iterator<Map.Entry<String, LinkedHashMap<String, String>>> itr = resultMap1.entrySet().iterator();
List l = new ArrayList<>();
while(itr.hasNext())
{
Map.Entry<String, LinkedHashMap<String, String>> entry = itr.next();
LinkedHashMap<String, String> lhmap = entry.getValue();
Iterator<Map.Entry<String, String>> itr1 =lhmap.entrySet().iterator();
while(itr1.hasNext()) {
Map.Entry<String, String> entry1 = itr1.next();
String str1 =entry1.getKey();
String str2 = entry1.getValue();
//count++;
System.out.println("Str1:"+str1);
System.out.println("Str2:"+str2);
l.add(str2);
}
}
rows.add(l);
System.out.println("Rows: "+rows);
CalAverage(1,0,2);
}
public static void CalAverage(int colIdx, int valueIdx, int... rowIdx) {
Map<Object, Map<Object, Long>> myList = rows.stream().collect(
Collectors.groupingBy(r -> r.get(colIdx), Collectors
.groupingBy(r -> new PivotColumns(r, rowIdx),
Collectors.counting())));
System.out.println("Created Average Pivoting");
System.out.println(myList);
}