Каков наиболее эффективный способ печати огромного количества данных на листе excel

У меня есть Map>, которая имеет пару с ключом, как это. {Column1 = [TAB, TLDE], Column2 = [INT, INTFE], Column3 = [Path1, Path2, Column4 = [null, null], Column5 = [tsv, txt]}

Я хочу, чтобы вывод вроде (как заголовки столбцов и значения в отдельных строках):

Column1 Column2 Column3 Column4 Column5 TAB INT Path1 null tsv TLDE INTFE Path2 null txt

В настоящее время я кодирую, как показано ниже:

Entry<String, List<String>> entry=colMap.entrySet().iterator().next(); int size = entry.getValue().size(); int beginingRow = sheet12c_10g.getFirstRowNum(); int currentCol=0; Row row = (sheet12c_10g.createRow(beginingRow)); row.createCell(ZERO).setCellValue(workbook.getCreationHelper().createRichTextString(SERIAL_NO)); for(int i=1;i<=size;i++) { //To print Serial Number in left Alignment CellStyle leftAlignment = workbook.createCellStyle(); leftAlignment.setAlignment(CellStyle.ALIGN_LEFT); row = sheet12c_10g.getRow(i); if(null == row){ row=sheet12c_10g.createRow(i); } Cell c = row.createCell(ZERO); c.setCellValue(i); c.setCellStyle(leftAlignment); } currentCol=1; Map<String, List<String>> map = new LinkedHashMap<String, List<String>>(); for (Map.Entry<String, List<String>> entryCol : colMap.entrySet()) { int currentRow =beginingRow; row=sheet12c_10g.getRow(currentRow); String columnkey = entryCol.getKey(); Cell c1 = row.createCell(currentCol ); c1.setCellValue(columnkey); for(String colValue : entryCol.getValue()) { currentRow++; if (colValue instanceof String) { row = sheet12c_10g.getRow(currentRow); if(null == row){ row=sheet12c_10g.createRow(currentRow); } Cell c = row.createCell(currentCol); c.setCellValue(colValue); } } currentCol++; } 

Interesting Posts
Давайте будем гением компьютера.