利用poi画Excel表格(包括标题和结尾的时间)
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet("sheet1");
for (int i = 0; i < 9; i++)
sheet.setColumnWidth(i, 4000);
HSSFFont font = wb.createFont();
font.setBold(true);
font.setFontName("Times New Roman");
HSSFFont font2 = wb.createFont();
font2.setFontName("Times New Roman");
HSSFCellStyle style = wb.createCellStyle();
HSSFCellStyle style2 = wb.createCellStyle();
style.setAlignment(HorizontalAlignment.CENTER);
style.setVerticalAlignment(VerticalAlignment.CENTER);
style.setFont(font2);
style2.setAlignment(HorizontalAlignment.CENTER);
style2.setVerticalAlignment(VerticalAlignment.CENTER);
style2.setFont(font);HSSFRow row = sheet.createRow(0);
HSSFCell cell = row.createCell(0);
sheet.addMergedRegion(new CellRangeAddress(0, 0, 0, 8));
cell.setCellValue("迟到报实时统计");
cell.setCellStyle(style2);
String dataStr[] = null;
String header[] = {"站点","报文类型","迟到时次","AFTN线路","AMHS路线","其他线路","mq线路","总数","统计时间"};
row = sheet.createRow(1);
for (int i = 0; i < header.length; i++) {
cell = row.createCell(i);
cell.setCellStyle(style2);
cell.setCellValue(header[i]);
}
for (int r = 0; r < result.size(); r++) {
dataStr = modelToArray(result.get(r));
row = sheet.createRow(r + 2);
for (int y = 0; y < dataStr.length; y++) {
cell = row.createCell(y);
cell.setCellValue(dataStr[y]);
}
}
int l = result.size();
row = sheet.createRow(l + 3);
sheet.addMergedRegion(new CellRangeAddress(l + 3, l + 3, 0, 8));
cell = row.createCell(0);
cell.setCellValue(
"统计时间: " + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(MyTimeTools.getUtcCalendar().getTime()));
cell.setCellStyle(style);
return wb;
第一次for 循环的次数为header 数组长度加1,其余的for 循环的数量相同。 import 如下:
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFFont;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.HorizontalAlignment;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.VerticalAlignment;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.util.CellRangeAddress;
效果如下: