Java导出Excel工具类
来源:互联网 发布:新闻资讯软件下载 编辑:程序博客网 时间:2024/05/18 01:02
所需jar包 poi
工具类
import java.io.IOException;import java.util.List;import java.util.Map;import javax.servlet.ServletOutputStream;import javax.servlet.http.HttpServletResponse;import org.apache.poi.hssf.usermodel.HSSFCell;import org.apache.poi.hssf.usermodel.HSSFRichTextString;import org.apache.poi.hssf.usermodel.HSSFRow;import org.apache.poi.hssf.usermodel.HSSFSheet;import org.apache.poi.hssf.usermodel.HSSFWorkbook;public class ExcelTool {/** * * * * @param filename 保存到客户端的文件名例:用户.xls * @param title 标题行 例:String[]{"名称","地址"} * @param key 从查询结果List取得的MAP的KEY顺序, * 需要和title顺序匹配,例:String[]{"name","address"} * @param values 结果集 * @param httpServletResponse * @throws IOException */public static void createN(String filename, String[] title, String[] key, List<Map> values, HttpServletResponse httpServletResponse) throws IOException {String filename2 = new String(filename.getBytes(), "iso-8859-1");ServletOutputStream servletOutputStream = httpServletResponse.getOutputStream();HSSFWorkbook workbook = null;httpServletResponse.setHeader("Content-disposition", "attachment; filename=" + filename2);httpServletResponse.setContentType("application/x-download");workbook = new HSSFWorkbook();HSSFSheet sheet = workbook.createSheet();HSSFRow row = null;HSSFCell cell = null;row = sheet.createRow((short) 0);for (int i = 0; title != null && i < title.length; i++) {cell = row.createCell((short) i);cell.setCellType(HSSFCell.CELL_TYPE_STRING);cell.setCellValue(new HSSFRichTextString(title[i]));}Map map = null;for (int i = 0; values != null && i < values.size(); i++) {row = sheet.createRow((short) (i + 1));map = values.get(i);for (int i2 = 0; i2 < key.length; i2++) {cell = row.createCell((short) (i2));cell.setCellType(HSSFCell.CELL_TYPE_STRING);if (map.get(key[i2]) == null) {cell.setCellValue(new HSSFRichTextString(""));} else {cell.setCellValue(new HSSFRichTextString(map.get(key[i2]).toString()));}}}workbook.write(servletOutputStream);servletOutputStream.flush();servletOutputStream.close();}}
应用实例(spring mvc)
在Controller中
@ResponseBody@RequestMapping(value = "excel")public void excel(HttpServletRequest request, HttpServletResponse response) {String filename = "用户列表.xls";List<User> list = userService.getList(null, null);String[] title = { "用户名", "条形码", "创建时间" };String[] key = { "userPhoneCode", "userBarCode", "createTime" };Map<String, String> map;@SuppressWarnings("rawtypes")List<Map> values = new LinkedList<Map>();for (User user : list) {map = new TreeMap<String, String>();map.put("userPhoneCode", user.getUserPhoneCode());map.put("userBarCode", user.getUserBarCode());map.put("createTime", user.getCreateTime());values.add(map);}try {ExcelTool.createN(filename, title, key, values, response);} catch (IOException e) {}}
0 0
- Java导出Excel工具类
- Java导出Excel工具类
- java导出Excel工具类
- java导出excel工具类
- java excel导出工具类
- java excel导出工具类
- java导出excel工具类
- Java 通过Xml导出Excel文件,Java Excel 导出工具类,Java导出Excel工具类
- java导出excel,导入excel,导出csv工具类整理
- java 导出Excel文档工具类
- java工具类之导出Excel
- java 导入导出Excel工具类ExcelUtil
- Java导入导出Excel工具类ExcelUtil
- Java导入导出Excel工具类ExcelUtil
- java 导入导出Excel工具类ExcelUtil
- Excel导入导出工具类(java)
- Java导入导出Excel工具类ExcelUtil
- Java导出Excel的工具类
- FusionCharts 2D面积图
- ruby 安装和使用 mysql2
- 题目1093:WERTYU
- poj 1101 The Game(bfs)
- 组合模式——Head First Design Patterns
- Java导出Excel工具类
- android 静默安装,含获取各种应用信息方法,根据apk获取应用信息
- 检测点3.2
- 交换两个变量的值,不使用第三个变量
- C++ 标准库迭代循环变量类型
- 摆渡木马论文
- cocos2d-x 添加中文方法
- Linux x86_64线性地址空间布局(Why Does X86_64 Not Have ZONE_HIGHMEM)
- 文件遍历,递归消除