欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

java 导出Excle

程序员文章站 2022-03-07 22:31:07
...

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