POI 动态生成ECXEL
来源:互联网 发布:武田义胜 知乎 编辑:程序博客网 时间:2024/06/10 23:11
package com.adc.da.util.utils;import org.apache.poi.hssf.usermodel.*;import org.apache.poi.ss.usermodel.BorderStyle;import org.apache.poi.ss.usermodel.HorizontalAlignment;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.util.Iterator;import java.util.List;import java.util.Map;import java.util.Set;/** * @Author: xiaoyu * @Date: 11:33 2017/11/20 * @Description: * @ModifyBy: */public class ExcelUtils { private static final String PATH_FGF = "\\"; private static final String NAME_SUFFIX = ".xls"; /** * @Author: xiaoyu * @Date: 16:05 2017/11/20 * @Description: * @param: [excelPath, tableEOName, fileEOMap] * @return: void * @ModifyBy: */ public static void createExcel(String excelPath, String tableEOName, Map<List<String>, List<String>> fileEOMap) throws IOException { HSSFWorkbook hssfWorkbook = new HSSFWorkbook(); //创建HSSFSheet对象 HSSFSheet sheet = hssfWorkbook.createSheet(tableEOName); //设置sheet 的默认宽度 sheet.setDefaultColumnWidth(35); //创建HSSFRow对象 设置行 HSSFRow row = sheet.createRow(0); HSSFCellStyle style = hssfWorkbook.createCellStyle(); //设置样式 //背景颜色// style.setFillForegroundColor(HSSFColor.SKY_BLUE.index); //底纹样式// style.setFillPattern(FillPatternType.BRICKS); //初始的excel 没有boder 需要自己设置 style.setBorderLeft(BorderStyle.THIN); style.setBorderRight(BorderStyle.THIN); style.setBorderTop(BorderStyle.THIN); style.setBorderBottom(BorderStyle.THIN); //设置行内居中 style.setAlignment(HorizontalAlignment.CENTER_SELECTION); // style.setShrinkToFit(true);// style.setWrapText(true);// style.setDataFormat(DateFormat.); HSSFFont font = hssfWorkbook.createFont(); //设置字体颜色 大小 格式 font.setFontName("微软雅黑");// font.setColor(HSSFColor.VIOLET.index); font.setFontHeightInPoints((short) 16); // 把字体应用到当前的样式 style.setFont(font); Set<Map.Entry<List<String>, List<String>>> entrySet = fileEOMap.entrySet(); Iterator<Map.Entry<List<String>, List<String>>> iterator = entrySet.iterator(); for (int j = 0; iterator.hasNext(); j++) { Map.Entry<List<String>, List<String>> next = iterator.next(); List<String> key = next.getKey(); List<String> value = next.getValue(); for (int i = 0; i < value.size(); i++) { //创建HSSFCell对象 HSSFCell cell = row.createCell(i); //设置单元格的值 cell.setCellValue(key.get(i) + "(" + value.get(i) + ")\t"); cell.setCellStyle(style); } } File file = new File(excelPath + PATH_FGF + tableEOName + NAME_SUFFIX); if (!file.getParentFile().exists()) { file.getParentFile().mkdirs(); } file.createNewFile(); //输出Excel文件 FileOutputStream output = new FileOutputStream(file); hssfWorkbook.write(output); //注意 不关out 会显示个 0kb 的文件,打开会显示什么只读乱七八糟的东西。 output.close(); hssfWorkbook.close(); }}
阅读全文
0 0
- POI 动态生成ECXEL
- poi动态生成word
- java使用poi读取ecxel文件的工具类
- Struts2 + poi 动态生成Excel 下载
- POI动态生成word2007加强版
- 使用POI生成动态多行表头
- java生成Ecxel文件及下载(公用)
- 使用POI实现上传ecxel文件,并读取其中数据并存入数据库
- java--poi生成excel动态合并内容相同的行
- POI导入导出及动态复杂表头生成
- POI动态生成数据并删去多余模版
- POI生成excel报表
- poi 生成excel
- poi生成execl综合
- 使用POI生成Excel
- POI生成Excel
- poi生成Excel
- poi生成excel
- PIL IOError: cannot open resource处理
- javascript 数组方法
- iReport 报表展示报错:Error filling print... Error evaluating expression
- GPU渲染流程学习_02_阴影
- 背包问题
- POI 动态生成ECXEL
- JQuery 自定义事件的使用
- Idea+TestNg配置test-output输出(转)
- ora-29280,ora-06512
- NOIP复赛复习(十二)数论算法巩固与提高
- Laravel 提示字段不存在groupBy
- Qt Linux版本卸载
- malloc函数介绍
- 管道物流导航