public static void main(String[] args) throws Exception {
//发现许多悲伤的事,比如设置行的样式虽然有方法(setRowStyle)但是我发现没用,只能设置列的样式,
//许多方法都没用不知道是什么原因,要是有搞出来的告诉一声不胜感激。poi设置第一个东西都是下标从0开始
XSSFWorkbook workbook = new XSSFWorkbook();
XSSFSheet sheet = workbook.createSheet("当前excel的名");
XSSFCellStyle style = workbook.createCellStyle(); // 样式对象
sheet.setDefaultRowHeight((short)400);//设置所有单元格高度
sheet.setDefaultColumnWidth((short)10);//设置所有单元格宽度
//此样式是让标题居中
XSSFCellStyle style2 = workbook.createCellStyle();
style2.setAlignment(XSSFCellStyle.ALIGN_CENTER);
style2.setVerticalAlignment(
XSSFCellStyle.VERTICAL_CENTER);
Font font2 = workbook.createFont();
font2.setItalic(true);
font2.setFontHeightInPoints((short)13); //--->设置字体大小
style2.setFont(font2);
//这是设置合并单元格(标题)
sheet.addMergedRegion(new CellRangeAddress(
0, //first row
0, //last row
0, //first column
4 //last column
));
XSSFRow row=sheet.createRow(0);//第一行
XSSFCell cell;
cell=row.createCell(0);;//第一行第一列
cell.setCellValue("表格的标题");
row=sheet.createRow(1);//第二行
cell.setCellStyle(style2);
cell=row.createCell(0);//第二行第一列
cell.setCellValue("列名1");
cell=row.createCell(1);//第二行第二列
cell.setCellValue("列名2");
row=sheet.createRow(2);//第三行
cell=row.createCell(0);//第三行第一列
cell.setCellValue("值1");
cell=row.createCell(1);//第三行第二列
/*如果想循环的话将 row=sheet.createRow(i);
cell=row.createCell(1); cell.setCellValue("数据库列名");放在循环体中就好了,一般有点Java基础的应该都会这里就不写了*/
cell.setCellValue("值2");
FileOutputStream out = new FileOutputStream(
new File("d:\\Writesheet.xlsx"));
workbook.write(out);
out.close();
}