如何格式化 POI 创建的 Excel 文档
How to format the Excel document created by POI
我正在使用 POI 创建 Excel 文档的应用程序。问题是,在没有任何数据的情况下生成 Excel 很好,但是当我将数据与它一起放置时,headers 正在下降。我的代码:
HSSFWorkbook hwb = null;
hwb = new HSSFWorkbook();
HSSFSheet sheet = hwb.createSheet("new sheet");
HSSFRow rowhead = sheet.createRow((short) largest);
HSSFCell intervieweeName = rowhead.createCell(0);
intervieweeName.setCellValue("Interviee Name");
HSSFCell interviewTiming = rowhead.createCell(1);
interviewTiming.setCellValue("Interview Timing");
for (int large = 0; large < largest; large++) {
int i=0;
HSSFRow array1 = sheet.createRow((short)large);
for ( i = i + large; i < interviewerNameList.size(); i++) {
HSSFCell tracker1 = array1.createCell(0);
HSSFCell tracker2 = array1.createCell(1);
tracker1.setCellValue(interviewerNameList.get(large));
tracker2.setCellValue(interviewTimingToFrom1.get(large));
}
}
问题是标题 Interviee Name 和 Interview Timing 出现在值之后。
您的问题是您将 header 写入最后一行
HSSFRow rowhead = sheet.createRow((short) largest);
...
for (int large = 0; large < largest; large++) {
HSSFRow array1 = sheet.createRow((short)large);
将 header 放在末尾,并从 0 循环到它以创建数据行
将其改为:
HSSFRow rowhead = sheet.createRow(0);
...
for (int large = 0; large < largest; large++) {
HSSFRow array1 = sheet.createRow(large+1);
这样,large
变量在您的数据查找中保持不变,但您从第 1 行开始填充内容
我正在使用 POI 创建 Excel 文档的应用程序。问题是,在没有任何数据的情况下生成 Excel 很好,但是当我将数据与它一起放置时,headers 正在下降。我的代码:
HSSFWorkbook hwb = null;
hwb = new HSSFWorkbook();
HSSFSheet sheet = hwb.createSheet("new sheet");
HSSFRow rowhead = sheet.createRow((short) largest);
HSSFCell intervieweeName = rowhead.createCell(0);
intervieweeName.setCellValue("Interviee Name");
HSSFCell interviewTiming = rowhead.createCell(1);
interviewTiming.setCellValue("Interview Timing");
for (int large = 0; large < largest; large++) {
int i=0;
HSSFRow array1 = sheet.createRow((short)large);
for ( i = i + large; i < interviewerNameList.size(); i++) {
HSSFCell tracker1 = array1.createCell(0);
HSSFCell tracker2 = array1.createCell(1);
tracker1.setCellValue(interviewerNameList.get(large));
tracker2.setCellValue(interviewTimingToFrom1.get(large));
}
}
问题是标题 Interviee Name 和 Interview Timing 出现在值之后。
您的问题是您将 header 写入最后一行
HSSFRow rowhead = sheet.createRow((short) largest);
...
for (int large = 0; large < largest; large++) {
HSSFRow array1 = sheet.createRow((short)large);
将 header 放在末尾,并从 0 循环到它以创建数据行
将其改为:
HSSFRow rowhead = sheet.createRow(0);
...
for (int large = 0; large < largest; large++) {
HSSFRow array1 = sheet.createRow(large+1);
这样,large
变量在您的数据查找中保持不变,但您从第 1 行开始填充内容