POI简单操作excel文件--项目笔记2

POI导出excel文件


1. POI常用操作格式简介

  • HSSF- 读写Excel XLS格式文档
  • XSSF - 读写Excel XLSX格式文档
  • HWPF - 读写Word Doc格式文档
  • HSLF - 读写PPT 格式文档

2.使用HSSF导出xls步骤简记

	 //创建一个工作簿
    HSSFWorkbook wk = new HSSFWorkbook();
    //创建工作表
    HSFFSheet sheet = wk.creatSheet();//还可以传入一个String类型的参数为当前sheet的名称
    //需要创建一行,而且要创建一个单元格
    HSSFRow row = sheet.createRow(0);
    //创建单元格
    HSSFCell cell = row.createCell(0);
    //给单元格赋值
    cell.setCellValue();//多种重载方法
    //设置行高
    sheet.getRow(0).setHeight((short)500);
    //设置列宽 param1=columnIndex,param2=width
        //width:每个字符的大小(和字体有关) *256
    sheet.setColumnWidth(0,5000);
    //文件保存路径
    File file = new File("f:\\poit.xls");
    //写入到文件
    wk.write(file);
    wk.close(file);
    //工作表,单元格,行数下标都从0开始

3.设置xls表格样式

//创建表格样式
HSSFCellStyle style = wk.createCellStyle();
style.setBorderBottom(BorderStyle.THIN);//下边框
style.setBorderTop(BorderStyle.THIN);//上
style.setBorderLeft(BorderStyle.THIN);//左
style.setBorderRight(BorderStyle.THIN);//右
//设置水平居中对齐方式
style.setAlignment(HorizontalAlignment.CENTER);
//垂直居中
style.setVerticalAlignment(VerticalAlignment.CENTER);
//设置单元格样式
sheet.createRow(0).createCell(0).setCellStyle(style);

4.合并单元格

sheet.addMergedRegion(new CellRangeAddress(int firstRow ,int lastRow ,int firstCell ,int lasCell));

5.设置字体样式

HSSFFont font = web.createFont();
font.setFontName("宋体");//字体名称要存在于excel,相当于选中了一种字符
//设置字体大小
//font.setFontHeight();//内部需要像素的转换比较麻烦
font.setFontHeightInPoints((short)11);//11相当于excel中的字体大小11
//设置字体是否为黑体
font.setBold(true);
//将字体运用到style中
style.setFont(font);

6.设置日期格式

HSSFCellStyle date_style = wk.createCellStyle();
//拷贝样式方法:style.cloneStyleFrom(anotherStyle);
HSSFDataFormat dataFormat = wk.createDataFormat();
date_style.setDataFormat(dataFormat.getFormat("yyyy-MM-dd hh:mm:ss"));

7.Excel文件导入

HSSFWorkbook wk = new HSSFWorkbook(inputStream);
HSSFSheet sheet = wk.getSheetAt(0);
//一些方法:sheet.getSheetName:获取工作表名称
//sheet.getLastRowNum();//获取最后一行行号
sheet.getRow(0).getCell(0).getStringCellValue()); //:获得单元格内容

8.提供前端文件下载

 //设置响应头;
response.setHeader("Content-Disposition","attachment;filename="+new String(filename.getBytes(),"ISO-8859-1"));
//流操作....

9.excel上传文件类型判断

"application/vnd.ms-excel".equals(fileContentType);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值