POI导出Excel 合并单元格

论坛 期权论坛 脚本     
匿名技术用户   2021-1-2 18:43   11   0
  
package com.oa.action.test;

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

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.hssf.util.HSSFColor;
import org.apache.poi.ss.util.CellRangeAddress;


public class Test02 {
 
 /**
  * <pre>main(
  * 1.  创建一个webbook,对应一个Excel文件
  * 2.在webbook中创建一个sheet,对应excel中的sheet(工作表)
  * 3.创建Excel工作表的行
  * 4.创建Excel工作表的列
  * 5.合并单元格
  * 6.输出流输出内容
  * 修改时间: 
  * 修改备注: 
  * @param args</pre>
  */
 public static void main(String[] args) {
  // 第一步,创建一个webbook,对应一个Excel文件 
  HSSFWorkbook wb = new  HSSFWorkbook();
  //在webbook中创建一个sheet,对应excel中的sheet(工作表)
  HSSFSheet sheet = wb.createSheet("cells");
  //样式的设置内容居中,字体颜色红色,背景色
  HSSFCellStyle style1 = wb.createCellStyle();
  HSSFFont f  = wb.createFont();      
  f.setFontHeightInPoints((short) 20);//字号       
  f.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);//加粗   
  f.setColor(HSSFColor.RED.index);//设置字体颜色
  style1.setFont(f);      
  style1.setAlignment(HSSFCellStyle.ALIGN_CENTER);//内容左右居中     
  style1.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);//内容上下居中
  //创建sheet的(行)(下标从0开始)第5行的第6,7,8列
  HSSFRow row = sheet.createRow(5);
  //第六列赋值
  row.createCell(6).setCellValue("hello");
  row.createCell(7);
  row.createCell(8);
  //创建sheet的列,第9行的第6,7,8列
  HSSFRow row2 = sheet.createRow(9);
  row2.createCell(6);
  row2.createCell(7);
  row2.createCell(8);
  //第一个参数指表格从上往下数下标从第几之后开始合并
  //第二个参数是合并几行(高度)
  //第三个是表格从左往右数下标为*列之后开始合并(开始)
  //第四个是合并列至下标为* 的一列(结束)
  //sheet.addMergedRegion(new CellRangeAddress(firstRow, lastRow, firstCol, lastCol)
  sheet.addMergedRegion(new CellRangeAddress(5, 9, 6, 8));
  try {
   FileOutputStream fos = new FileOutputStream("g:/cells_test.xls");
   wb.write(fos);
   fos.close();
   fos.flush();
   System.out.println("导出");
  } catch (FileNotFoundException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  } catch (IOException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  
  
 }
}

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP