ADD file via upload

main
p7mpv4cbt 1 month ago
parent 38ed99b928
commit f642418efc

@ -0,0 +1,59 @@
// src/main/java/com/llm/analysis/ExcelExporter.java
package com.llm.analysis;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.List;
import java.util.Map;
public class ExcelExporter {
/**
* XLSX
* @param topWords Top N
* @param filename
*/
public static void exportToXLSX(List<Map.Entry<String, Long>> topWords, String filename) {
Workbook workbook = new XSSFWorkbook();
Sheet sheet = workbook.createSheet("LLM应用案例词频");
// 创建表头
Row headerRow = sheet.createRow(0);
headerRow.createCell(0).setCellValue("排名");
headerRow.createCell(1).setCellValue("词语/LLM应用案例");
headerRow.createCell(2).setCellValue("词频 (总数)");
// 填充数据
int rowNum = 1;
for (int i = 0; i < topWords.size(); i++) {
Map.Entry<String, Long> entry = topWords.get(i);
Row row = sheet.createRow(rowNum++);
row.createCell(0).setCellValue(i + 1); // 排名
row.createCell(1).setCellValue(entry.getKey()); // 词语
row.createCell(2).setCellValue(entry.getValue()); // 词频
}
// 自动调整列宽
for (int i = 0; i < 3; i++) {
sheet.autoSizeColumn(i);
}
// 写入文件
try (FileOutputStream fileOut = new FileOutputStream(filename)) {
workbook.write(fileOut);
System.out.println("✅ 数据成功导出到 " + filename);
} catch (IOException e) {
System.err.println("导出Excel失败" + e.getMessage());
} finally {
try {
workbook.close();
} catch (IOException e) {
// Ignore
}
}
}
}
Loading…
Cancel
Save