用poi框架进行批量导入导出实例

Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程式对Microsoft Office格式档案读和写的功能。我们这里使用poi对数据库中的数据进行批量导出,以及从Excel文件中的数据批量导入到数据库中。

 

批量导出:

步骤:1.导入架包:

          poi-3.0-rc4-20070503.jar、poi-contrib-3.0-rc4-20070503.jar、poi-scratchpad-3.0-rc4-20070503.jar

          2.Excel操纵类,可以根据Excel模板来生成Excel对象(模板代码)

          3.生成Excel文件提供下载

实例代码:

Excel操纵类:

package cn.test.excel;

import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Properties;
import java.util.Set;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
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.poifs.filesystem.POIFSFileSystem;

/**
 * 
 * 功能描述: Excel操纵类,可以根据Excel模板来生成Excel对象<br>
 * 版本信息:1.0 <br>
 * Copyright: Copyright (c) 2005<br>
 */
public class ExcelTemplate {
	private static Log logger = LogFactory.getLog(ExcelTemplate.class);
	private static final String DATAS = "datas";
	
	private HSSFWorkbook workbook;
	private HSSFSheet sheet;
	private HSSFRow currentRow;
	private Map styles = new HashMap(); //数据行的默认样式配置
	private Map confStyles = new HashMap(); //通过设置"#STYLE_XXX"来标识的样式配置
	private int initrow; //数据输出起始行
	private int initcol; //数据输出起始列
	private int num; //index number
	private int currentcol; //当前列
	private int currentRowIndex; //当前行index
	private int rowheight = 22; //行高
	private int lastLowNum = 0;
	private String cellStyle = null;
	
	private ExcelTemplate() {
	}
	
	/**
	 * 使用默认模板创建ExcelTemplate对象
	 * @return 根据模板已初始化完成的ExcelTemplate对象
	 */
	public static ExcelTemplate newInstance(){
		return newInstance("templates/default.xls");
	}

	/**
	 * 指定模板创建ExcelTemplate对象
	 * @param templates 模板名称
	 * @return 根据模板已初始化完成的ExcelTemplate对象
	 */
	public static ExcelTemplate newInstance(String templates){
		try {
			ExcelTemplate excel = new ExcelTemplate();
			POIFSFileSystem fs = new POIFSFileSystem(
		
  • 2
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

傅荣康

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值