最简单的Java导出excel表格(poi中的XSSFWorkbook方式)

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();
}

你可能感兴趣的:(Java)