Java使用poi生成Excel文件
来源:互联网 发布:淘宝唯一店铺号选靓号 编辑:程序博客网 时间:2024/06/07 07:51
1。
package com.jnpc.protect.radiation.action;import java.io.FileOutputStream;import java.io.IOException;import net.sf.json.JSONArray;import net.sf.json.JSONObject;import org.apache.poi.hssf.usermodel.HSSFCellStyle;import org.apache.poi.hssf.usermodel.HSSFFont;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.ss.usermodel.Cell;/** * 生成excel * 使用的是HSSFWorkbook,仅能生成xls格式的excel * 在创建存储excel文件流的时候注意不能用.xlsx的扩展名 * @author Uself 2017-10-12 下午4:21:43 * @seehttp://www.cnblogs.com/yxth/p/6495244.html * http://blog.csdn.net/preterhuman_peak/article/details/40615303 */public class CreateExcel {//excel表头名称private static String[] COLUMN_NAMES = {"ID", "姓名", "年龄", "性别"};//填充数据的keyprivate static String[] COLUMNS = {"id", "name", "age", "sex"};public static void main(String[] args) {JSONArray ary = new JSONArray();JSONObject obj = new JSONObject();JSONObject obj2 = new JSONObject();JSONObject obj3 = new JSONObject();obj.put("id", "1");obj.put("name", "小明");obj.put("age", "18");obj.put("sex", "男");obj2.put("id", "2");obj2.put("name", "小华");obj2.put("age", "20");obj2.put("sex", "男");obj3.put("id", "3");obj3.put("name", "小丽");obj3.put("age", "18");obj3.put("sex", "女");ary.add(obj);ary.add(obj2);ary.add(obj3);createExcel(ary, "第一页", "D:/testCreateExcel.xls");}/** * 生成excel表格 * @param jsonArray填充excel的对象,可以灵活的修改成List<T> * @param sheetNamesheet页的名字 * @param savePathexcel保存的路径 D:/text.xls */public static void createExcel(JSONArray jsonArray, String sheetName, String savePath){FileOutputStream out = null;try {//创建工作簿HSSFWorkbook workbook = new HSSFWorkbook();//创建sheetHSSFSheet sheet = createSheet(workbook, sheetName);//创建单元格样式HSSFCellStyle style = createCellStyle(workbook);//创建头部createHead(sheet, style);//创建主体内容createMainContent(sheet, style, jsonArray);out = new FileOutputStream(savePath);workbook.write(out);} catch (Exception e) {e.printStackTrace();System.out.println("======e========" + e.getMessage());} finally {try {out.close();} catch (IOException e) {e.printStackTrace();}}}/** * 创建sheet * @param workbook工作簿 * @param sheetNamesheet名字 * @return */public static HSSFSheet createSheet(HSSFWorkbook workbook, String sheetName){HSSFSheet sheet = null;//2创建sheet表格sheet = workbook.createSheet(sheetName); //设置所有的单元格格式 sheet.setDefaultColumnWidth(20); //单独设置时必须是256的倍数 //sheet.setColumnWidth(0,5120); //sheet.setColumnWidth(1,5120); //sheet.setColumnWidth(2,25600); return sheet;}/** * 创建单元格样式 * @param workbook工作簿 * @return */public static HSSFCellStyle createCellStyle(HSSFWorkbook workbook){HSSFCellStyle style = null;//1创建文字样式HSSFFont font = workbook.createFont();//设置文字字体font.setFontName("宋体");//设置文字大小font.setFontHeightInPoints((short) 10);//2.创建单元格样式style = workbook.createCellStyle();// 左右居中 style.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 上下居中style.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);//设置边框大小style.setBorderTop(HSSFCellStyle.BORDER_THIN);style.setBorderBottom(HSSFCellStyle.BORDER_THIN);style.setBorderLeft(HSSFCellStyle.BORDER_THIN);style.setBorderRight(HSSFCellStyle.BORDER_THIN);//3.将文字样式应用到单元格中style.setFont(font);return style;}/** * 设置excel头部 * @param sheet * @param style */public static void createHead(HSSFSheet sheet, HSSFCellStyle style){HSSFRow row = sheet.createRow(0);for(int i = 0; i < COLUMN_NAMES.length; i ++){Cell cell = row.createCell(i);cell.setCellValue(COLUMN_NAMES[i]);cell.setCellStyle(style);}}/** * 创建主题内容 * @param sheetsheet表格 * @param style单元格样式 * @param jsonArrayjson数据对象 */public static void createMainContent(HSSFSheet sheet, HSSFCellStyle style, JSONArray jsonArray){/* * 遍历数据创建相应的行以及单元格 * 第一行已经创建,从第二行开始创建,下标为1 */for(int i = 1; i <= jsonArray.size(); i ++){//创建行HSSFRow row = sheet.createRow(i);JSONObject jsonObject = jsonArray.getJSONObject(i - 1);for(int j = 0; j < COLUMNS.length; j ++){Cell cell = row.createCell(j);cell.setCellValue(jsonObject.getString(COLUMNS[j]));cell.setCellStyle(style);}}}}
阅读全文
0 0
- Java使用poi生成Excel文件
- 使用poi生成Excel文件
- 使用POI生成Excel文件
- 使用POI生成Excel文件
- 使用poi生成Excel文件
- 使用POI生成Excel文件
- 如何使用Java POI生成Excel表文件 !
- 如何使用Java POI生成Excel表文件
- 如何使用Java POI生成Excel表文件 !
- java开发技术总结-----使用poi生成excel文件
- 如何使用Java POI生成Excel表文件 !
- 【Java】使用Apache POI生成和解析Excel文件
- Java生成excel文件-本地生成excel文件-poi
- 使用POI生成excel文件方法总结
- Java POI生成Excel表文件
- POI生成excel文件
- Poi生成Excel文件
- Java 使用 poi生成 Excel的方法
- bootstrap 使用小结
- [JZOJ5405]Permutation
- MySQL中索引失效条件
- android studio cmake 配置.a连接库
- 将APP从后台显示到前台
- Java使用poi生成Excel文件
- 卸载分区出现 device is busy
- Android Studio引入javax包,无法导入
- 【LeetCode】C# 49、Group Anagrams
- <状压DP>codevs 2451 互不侵犯
- 数据结构绪论
- Quux Sincpac C3D 2018
- php.ini生产环境禁用函数设置
- 各种类型在平台中所占的字节