首页>代码>apache poi操作excel实现导入导出的demo,有easyui实现的前台界面>/test_PoiDemo - 副本/src/com/asiainfo/action/UserAction.java
package com.asiainfo.action;

import java.io.File;
import java.io.FileInputStream;
import java.sql.Connection;
import java.sql.ResultSet;

import net.sf.json.JSONArray;
import net.sf.json.JSONObject;

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;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.struts2.ServletActionContext;

import com.asiainfo.dao.UserDao;
import com.asiainfo.model.PageBean;
import com.asiainfo.model.User;
import com.asiainfo.util.DbUtil;
import com.asiainfo.util.ExcelUtil;
import com.asiainfo.util.JsonUtil;
import com.asiainfo.util.ResponseUtil;
import com.asiainfo.util.StringUtil;
import com.opensymphony.xwork2.ActionSupport;

public class UserAction extends ActionSupport {

	private static final long serialVersionUID = 1L;

	private String page;
	private String rows;
	private String id;
	private User user;
	private String delId;
	private String s_name = "";

	private File userUploadFile;

	public String getPage() {
		return page;
	}

	public void setPage(String page) {
		this.page = page;
	}

	public String getRows() {
		return rows;
	}

	public void setRows(String rows) {
		this.rows = rows;
	}

	public String getDelId() {
		return delId;
	}

	public void setDelId(String delId) {
		this.delId = delId;
	}

	public User getUser() {
		return user;
	}

	public void setUser(User user) {
		this.user = user;
	}

	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	public File getUserUploadFile() {
		return userUploadFile;
	}

	public void setUserUploadFile(File userUploadFile) {
		this.userUploadFile = userUploadFile;
	}

	public String getS_name() {
		return s_name;
	}

	public void setS_name(String s_name) {
		this.s_name = s_name;
	}

	DbUtil dbUtil = new DbUtil();
	UserDao userDao = new UserDao();

	public String list() throws Exception {
		Connection con = null;
		PageBean pageBean = new PageBean(Integer.parseInt(page), Integer.parseInt(rows));
		try {
			if(user == null){
				user = new User();
			}
			user.setName(s_name);
			System.out.println(user);
			con = dbUtil.getCon();
			JSONObject result = new JSONObject();
			JSONArray jsonArray = JsonUtil.formatRsToJsonArray(userDao.userList(con, pageBean,user));
			int total = userDao.userCount(con,user);
			result.put("rows", jsonArray);
			result.put("total", total);
			ResponseUtil.write(ServletActionContext.getResponse(), result);
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			try {
				dbUtil.closeCon(con);
			} catch (Exception e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
		return null;
	}

	public String save() throws Exception {
		if (StringUtil.isNotEmpty(id)) {
			user.setId(Integer.parseInt(id));
		}
		Connection con = null;
		try {
			con = dbUtil.getCon();
			int saveNums = 0;
			JSONObject result = new JSONObject();
			if (StringUtil.isNotEmpty(id)) {
				saveNums = userDao.userModify(con, user);
			} else {
				saveNums = userDao.userAdd(con, user);
			}
			if (saveNums > 0) {
				result.put("success", "true");
			} else {
				result.put("success", "true");
				result.put("errorMsg", "保存失败");
			}
			ResponseUtil.write(ServletActionContext.getResponse(), result);
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			try {
				dbUtil.closeCon(con);
			} catch (Exception e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
		return null;
	}

	public String delete() throws Exception {
		Connection con = null;
		try {
			con = dbUtil.getCon();
			JSONObject result = new JSONObject();
			int delNums = userDao.userDelete(con, delId);
			if (delNums == 1) {
				result.put("success", "true");
			} else {
				result.put("errorMsg", "删除失败");
			}
			ResponseUtil.write(ServletActionContext.getResponse(), result);
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} finally {
			try {
				dbUtil.closeCon(con);
			} catch (Exception e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
		return null;
	}

	/**
	 * 直接导出数据
	 * 
	 * @return 返回null,因为是以响应头,流的形式输出的
	 * @throws Exception
	 */
	public String export() throws Exception {
		Connection con = null;
		try {
			con = dbUtil.getCon();
			Workbook wb = new HSSFWorkbook(); // 定义一个工作簿
			String headers[] = { "编号", "姓名", "电话", "Email", "QQ" }; // 表的字段
			ResultSet rs = userDao.userList(con, null, user); // 查询出的结果集
			ExcelUtil.fillExcelData(rs, wb, headers);
			ResponseUtil.export(ServletActionContext.getResponse(), wb, "导出excel.xls"); // 将excel导出
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} finally {
			try {
				dbUtil.closeCon(con);
			} catch (Exception e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
		return null;
	}

	/**
	 * 利用模版导出数据
	 * 
	 * @return
	 * @throws Exception
	 */
	public String exportByTemplate() throws Exception {
		Connection con = null;
		try {
			if(user == null){
				user = new User();
			}
			String s = new String(s_name.getBytes("iso-8859-1"),"utf-8");
			user.setName(s);
			con = dbUtil.getCon();
			System.out.println(user);
			ResultSet rs = userDao.userList(con, null, user);
			Workbook wb = ExcelUtil.fillExcelDataByTemplate(userDao.userList(con, null, user), "userExporTemplate.xls");
			ResponseUtil.export(ServletActionContext.getResponse(), wb, "通过模版导出的数据.xls");
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			try {
				dbUtil.closeCon(con);
			} catch (Exception e) {
				e.printStackTrace();
			}
		}
		return null;
	}

	/**
	 * @return
	 * @throws Exception
	 */
	public String upload() throws Exception {
		POIFSFileSystem fs = new POIFSFileSystem(new FileInputStream(userUploadFile));
		HSSFWorkbook wb = new HSSFWorkbook(fs);
		HSSFSheet hssfSheet = wb.getSheetAt(0); // 获取第一个Sheet页

		if (hssfSheet != null) {
			for (int rowNum = 1; rowNum <= hssfSheet.getLastRowNum(); rowNum++) {
				HSSFRow hssfRow = hssfSheet.getRow(rowNum);
				if (hssfRow == null) {
					continue;
				}
				User user = new User();
				user.setName(ExcelUtil.formatCell(hssfRow.getCell(0)));
				user.setPhone(ExcelUtil.formatCell(hssfRow.getCell(1)));
				user.setEmail(ExcelUtil.formatCell(hssfRow.getCell(2)));
				user.setQq(ExcelUtil.formatCell(hssfRow.getCell(3)));
				Connection con = null;
				try {
					con = dbUtil.getCon();
					userDao.userAdd(con, user);
				} catch (Exception e) {
					e.printStackTrace();
				} finally {
					dbUtil.closeCon(con);
				}
			}
		}
		JSONObject result = new JSONObject();
		result.put("success", "true");
		ResponseUtil.write(ServletActionContext.getResponse(), result);
		return null;
	}

}
最近下载更多
sunlea  LV20 2024年5月27日
是你爸爸啊100  LV5 2022年8月8日
地方撒地方的  LV2 2021年12月7日
sl0018  LV13 2021年10月3日
三岁就很帅  LV6 2021年5月12日
liuxie  LV12 2021年4月29日
hdf999  LV12 2021年4月3日
hjd3983  LV10 2021年4月2日
hhhhCCC  LV3 2021年3月30日
wyx065747  LV67 2021年3月29日
最近浏览更多
sunlea  LV20 2024年5月27日
601601lmy  LV5 2023年10月20日
1358849392  LV21 2023年10月10日
yunYUN123  LV1 2023年5月22日
hesu2020  LV1 2023年3月20日
jaonsang  LV25 2022年9月12日
是你爸爸啊100  LV5 2022年8月8日
June06  LV2 2022年4月25日
duanyui  LV3 2022年4月13日
一直都会顺利的小吴  LV5 2022年2月16日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友