java 导出Excle

POI

导包

poi-3.8-20120326.jar 下载地址

使用方法

基本使用

// 创建一个Excel文件    
HSSFWorkbook hssfWorkbook = new HSSFWorkbook();
// 创建工作表
HSSFSheet hssfSheet = hssfWorkbook.createSheet(name);
//创建单元格格式对象
HSSFCellStyle cellStyle = hssfWorkbook.createCellStyle(); 
//创建单元格字体对象
HSSFFont font = hssfWorkbook.createFont();
//添加一行(数字为第几行)
HSSFRow hssfRowTop = hssfSheet.createRow(0);
//创建一列(i为第几列)
HSSFCell createCell = hssfRowTop.createCell(i);
//加入要填入的内容
HSSFRichTextString hssfRichTextString = new HSSFRichTextString("我是列内的内容");
//设置字体
hssfRichTextString.applyFont(font);
//将内容添加到单元格中
createCell.setCellValue(hssfRichTextString);
//设置单元格
createCell.setCellStyle(cellStyle);
//创建输出流
ByteArrayOutputStream arrayOutputStream = new ByteArrayOutputStream();
//将文件写入输出流中
//hssfWorkbook.write(arrayOutputStream);

字体设置

//创建单元格字体对象
HSSFFont font = hssfWorkbook.createFont();
font.setFontName("宋体");//设置头部字体为宋体
font.setStrikeout(true);//是否斜体
font.setBoldweight(Font.BOLDWEIGHT_BOLD); //粗体
font.setFontHeightInPoints((short)24);//字体大小
font.setColor(HSSFColor.BLUE.index);//设置字体颜色
font.setUnderline((byte)0);//添加下划线

单元格设置

//创建单元格格式对象
HSSFCellStyle cellStyle = hssfWorkbook.createCellStyle();  
cellStyle.setBorderTop((short) 1);//设置边框
cellStyle.setTopBorderColor(HSSFColor.BLUE.index);//设置边框颜色
cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 居中  
cellStyle.setFillForegroundColor((short) 13);// 设置背景色    
cellStyle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);     

单元格的宽高设置

设置行高

//添加第一行标题
HSSFRow hssfRowTop = hssfSheet.createRow(0);
//设置行高
hssfRowTop.setHeightInPoints(100 * 256);

设置行宽

//设置第几列的宽度(从0开始)
hssfSheet.setColumnWidth(1, 100 * 256);

合并单元格

//创建一个合并单元格(第几行开始,合并到第几行,从第几列开始,第几列结束)(都是从零开始)
CellRangeAddress cra=new CellRangeAddress(1, 3, 3, 9); 
//合并单元格添加到sheet中
sheet.addMergedRegion(cra);  
//获取那文件的第几行进行操作     
Cell cell_1 = row.createCell(3);    

栗子

public static void 合并单元格() throws IOException{
    FileOutputStream fos=new FileOutputStream("D:\\13.xls");  
    
    Workbook wb=new HSSFWorkbook();  
      
    Sheet sheet=wb.createSheet();  
    /* 
     * 设定合并单元格区域范围 
     *  firstRow  0-based 
     *  lastRow   0-based 
     *  firstCol  0-based 
     *  lastCol   0-based 
     */  
    CellRangeAddress cra=new CellRangeAddress(1, 4, 5, 9);        
      
    //在sheet里增加合并单元格  
    sheet.addMergedRegion(cra);  
      
    Row row = sheet.createRow(1);  
      
    Cell cell_1 = row.createCell(3);  
      
    cell_1.setCellValue("When you're right , no one remembers, when you're wrong ,no one forgets .");  
      
    //cell 位置3-9被合并成一个单元格,不管你怎样创建第4个cell还是第5个cell…然后在写数据。都是无法写入的。  
    Cell cell_2 = row.createCell(10);  
      
    cell_2.setCellValue("what's up ! ");  
      
    wb.write(fos);  
      
    fos.close();  
}

jxl

你可能感兴趣的:(java 导出Excle)