使用POI 读写 excel 文件(2003,2007)

这篇博客介绍了如何使用Apache POI库的HSSF和XSSF组件来读写Excel文件。HSSF适用于创建2003版的.xls文件,存在行数限制。XSSF则用于生成2007版的.xlsx文件,允许更多的行数,并且提供了读写数组方式操作Excel的示例。
摘要由CSDN通过智能技术生成

,一般poi 读写excel 的方式有两种: HSSFWorkBook
, XSSFWorkBook(2007)

  • 注意: ecxel 2003 有报表数量的限制(65536行),超过这个数字会报错;

一,使用HSSFWorkBook 生成excel;

1,实体类:

package springmvc.model.json;

/**
 * excel 实体类测试
 * @author WWP
 * @date 2016年11月4日上午12:02:12
 */
public class ExcelTestJson {
   
    private String name;
    private String age;
    private String birthday;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getAge() {
        return age;
    }

    public void setAge(String age) {
        this.age = age;
    }

    public String getBirthday() {
        return birthday;
    }

    public void setBirthday(String birthday) {
        this.birthday = birthday;
    }

    public ExcelTestJson(String name, String age, String birthday) {
        super();
        this.name = name;
        this.age = age;
        this.birthday = birthday;
    }

    public ExcelTestJson() {
        super();
        // TODO Auto-generated constructor stub
    }

}

2,PoiUtil 工具类

package springmvc.utils;

import java.lang.reflect.Field;
import java.util.List;

import org.apache.poi.hssf.usermodel.HSSFFont;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.CellStyle;
import org.apache.poi.ss.usermodel.Font;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;

/**
 * 下载excel
 * 
 * @author WWP
 * @date 2016年10月30日下午11:29:21
 */
public class PoiUtil<T> {
   

    private HSSFWorkbook wb = null;

    private Sheet sheet = null;

    private Row row = null;

    private Cell cell = null;

    private CellStyle cellStyle = null;

    /**
     * 获取 hssfworkbook对象
     * 
     * @param titles
     * @param ts
     * @return
     * @return HSSFWorkbook
     */
    public HSSFWorkbook getHssfWorkbook(List<String> titles, List<T> ts) {

        wb = new HSSFWorkbook();
        setCellStyle();
        sheet = wb.createSheet();
        setExcelTitle(titles);
        setExcelContent(ts);

        return wb;

    }

    /**
     * 设置单元个样式 
     * @return void
     */
    private void setCellStyle(){
        cellStyle = wb.createCellStyle();
        cellStyle.setAlignment(CellStyle.ALIGN_CENTER); //居中
        cellStyle.setWrapText(true);//设置自动换行
        Font font = wb.createFont();
        font.setFontName("黑体");
        font.setFontHeightInPoints((short) 1);//设置字体大小
        Font font2 = wb.createFont();
        font2.setFontName("仿宋_GB2312");
        font2.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);//粗体显示
        font2.setFontHeightInPoints((short) 12);

        cellStyle.setFont(fo
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值