package com.mozq.sb.file01.test;

import org.apache.poi.hssf.usermodel.*;
import org.apache.poi.hssf.util.HSSFColor;
import org.apache.poi.ss.usermodel.*; import java.io.FileOutputStream;
import java.io.IOException;
import java.util.*; public class Excel_01 {
public static void main(String[] args) throws IOException {
HSSFWorkbook workbook = new HSSFWorkbook();
HSSFSheet sheet = workbook.createSheet("创建sheet页"); //默认的列宽度8字符
System.out.println(sheet.getDefaultColumnWidth()); //设置默认列宽和默认行高
sheet.setDefaultColumnWidth(20);
sheet.setDefaultRowHeightInPoints((short) 20); //存储最大列宽
Map<Integer,Integer> maxWidth = new HashMap<>();
maxWidth.put(0, getLength("错误行"));
maxWidth.put(1,getLength("Excel表格导入错误消息"));
for (Integer key : maxWidth.keySet()) {
System.out.println(key + ":" + maxWidth.get(key));
sheet.setColumnWidth(key, maxWidth.get(key));
} HSSFRow sheetTitle = sheet.createRow(1);
//创建 HSSFRow row = sheet.createRow(2);//创建行
//设置行高
row.setHeightInPoints(30); HSSFCell cell = row.createCell(0);
cell.setCellValue("错误行");
cell.setCellStyle(getTitleCellStyle(workbook));//设置样式 HSSFCell cell1 = row.createCell(1);
cell1.setCellValue("Excel表格导入错误消息");
cell1.setCellStyle(getTitleCellStyle(workbook));//设置样式 //-------------打印内容
List<String[]> content = new ArrayList<>();
content.add(new String[]{"第1行", "电话号码格式错误"});
content.add(new String[]{"第2行", "用户信息不存在"}); for (int i = 0; i < content.size(); i++) {
HSSFRow dataRow = sheet.createRow(i + 3);
String[] strs = content.get(i);
for (int j = 0; j < strs.length; j++) {
HSSFCell posCell = dataRow.createCell(j);
posCell.setCellValue(strs[j]);
posCell.setCellStyle(getTextCellStyle(workbook));
System.out.println(strs[j]);
}
} FileOutputStream fileOutputStream=new FileOutputStream("E:\\00\\3.xls");
workbook.write(fileOutputStream);
fileOutputStream.close();
} public static Integer getLength(String content){
Integer length = 0;
if(Objects.nonNull(content)){
length = content.getBytes().length * 2 * 230;
}
return length;
} //创建标题栏通用样式
public static HSSFCellStyle getTitleCellStyle(HSSFWorkbook workbook){
/* 对齐方式 */
HSSFCellStyle cellStyle= workbook.createCellStyle(); //设置样式
//水平居中
cellStyle.setAlignment(CellStyle.ALIGN_CENTER);
//垂直居中
cellStyle.setVerticalAlignment(CellStyle.VERTICAL_CENTER); /* 边框设置 */
cellStyle.setBorderTop(CellStyle.BORDER_THIN);
cellStyle.setBorderRight(CellStyle.BORDER_THIN);
cellStyle.setBorderBottom(CellStyle.BORDER_THIN);
cellStyle.setBorderLeft(CellStyle.BORDER_THIN); /* 字体样式 */
HSSFFont font = workbook.createFont();
//字体颜色
font.setColor(HSSFColor.DARK_BLUE.index);
//字体高度
font.setFontHeightInPoints((short) 14);
//字体
font.setFontName("宋体");
//加粗
font.setBoldweight(Font.BOLDWEIGHT_BOLD); cellStyle.setFont(font);
return cellStyle;
} //创建标题栏通用样式
public static HSSFCellStyle getTextCellStyle(HSSFWorkbook workbook){
/* 对齐方式 */
HSSFCellStyle cellStyle= workbook.createCellStyle(); //设置样式
//水平居中
cellStyle.setAlignment(CellStyle.ALIGN_CENTER);
//垂直居中
cellStyle.setVerticalAlignment(CellStyle.VERTICAL_CENTER); /* 边框设置 */
cellStyle.setBorderTop(CellStyle.BORDER_THIN);
cellStyle.setBorderRight(CellStyle.BORDER_THIN);
cellStyle.setBorderBottom(CellStyle.BORDER_THIN);
cellStyle.setBorderLeft(CellStyle.BORDER_THIN); /* 字体样式 */
HSSFFont font = workbook.createFont();
//字体颜色
font.setColor(HSSFColor.BLACK.index);
//字体高度
font.setFontHeightInPoints((short) 14);
//字体
font.setFontName("宋体");
//字体加粗
//font.setBoldweight(Font.BOLDWEIGHT_BOLD);
cellStyle.setFont(font);
return cellStyle;
}
}

poi创建excel文件的更多相关文章

  1. Java Struts2 POI创建Excel文件并实现文件下载

    Java Struts2 POI创建Excel文件并实现文件下载2013-09-04 18:53 6059人阅读 评论(1) 收藏 举报 分类: Java EE(49) Struts(6) 版权声明: ...

  2. java使用poi创建excel文件

    import org.apache.poi.hssf.usermodel.HSSFCell;import org.apache.poi.hssf.usermodel.HSSFRow;import or ...

  3. Java通过poi创建Excel文件并分页追加数据

    以下的main函数,先生成一个excel文件,并设置sheet的名称,设置excel头:而后,以分页的方式,向文件中追加数据 maven依赖 <dependency> <groupI ...

  4. 简单的poi导出excel文件

    /**** 创建excel文件**/ 1 import java.io.FileOutputStream; import java.io.IOException; import java.util.C ...

  5. java使用Apache POI操作excel文件

    官方介绍 HSSF is the POI Project's pure Java implementation of the Excel '97(-2007) file format. XSSF is ...

  6. POI生成EXCEL文件

    POI生成EXCEL文件 一.背景 根据指定格式的JSON文件生成对应的excel文件,需求如下 支持多sheet 支持单元格合并 支持插入图片 支持单元格样式可定制 需要 标题(title),表头( ...

  7. java使用jxl,poi解析excel文件

    public interface JavaExcel { /** * 使用jxl写excel文件 */ public void writeJxlExcel(); /** * 使用jxl读excel文件 ...

  8. 使用poi读写excel文件

    使用poi库测试了一下读取excel文件,效果不错,跟大家分享一下. 第一列是数值型,第二列是字符型,代码如下: package poi; import java.io.FileInputStream ...

  9. java通过poi编写excel文件

    public String writeExcel(List<MedicalWhiteList> MedicalWhiteList) { if(MedicalWhiteList == nul ...

随机推荐

  1. .NetCore部署到CentOS

    “天下熙熙,皆为利来:天下攘攘,皆为利往.”,越来越多的人涌入IT这个行业,使得技术发展日新月异之外,也会无情淘汰跟不上潮流的人,所以作为IT从业人员,一定要时刻关注前沿技术,免得有朝一日被拍在沙滩上 ...

  2. Django 07

    目录 ORM查询优化 only与defer(单表) select_related与prefetch_related(跨表) choices参数 MTV与MVC模型 Ajax简介 前后端传输数据编码格式 ...

  3. spring data jpa 操作pipelinedb 的continuous view 与stream

    一. 由于pipelinedb是postgreSQL的扩展,因此相关依赖于配置都合集成postgreSQL是一样的. springboot + spring data jpa + postgreSQL ...

  4. BBS项目知识点汇总

    目录 bbs项目知识点汇总 一. JavaScript 1 替换头像 2 form表单拿数据 3 form组件error信息渲染 4 添加html代码 5 聚焦操作 二 . html在线编辑器 三 . ...

  5. 你不知道的JavaScript(中)读书笔记(二)

    第三章 原生函数 常用的原生函数(内建函数)有: String() Number() Boolean Array() Object() Function() RegExp() Date() Erroe ...

  6. hdu 1010 Tempter of the Bone(深搜+奇偶剪枝)

    Tempter of the Bone Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Othe ...

  7. 从《彩色圆环》一题探讨一类环上dp的解法

    清橙A1202 bzoj2201 bsoj4074 试题来源 2010中国国家集训队命题答辩 问题描述 小A喜欢收集宝物.一天他得到了一个圆环,圆环上有N颗彩色宝石,闪闪发光.小A很爱惜这个圆环,天天 ...

  8. [从今天开始修炼数据结构]队列、循环队列、PriorityQueue的原理及实现

    [从今天开始修炼数据结构]基本概念 [从今天开始修炼数据结构]线性表及其实现以及实现有Itertor的ArrayList和LinkedList [从今天开始修炼数据结构]栈.斐波那契数列.逆波兰四则运 ...

  9. day06数组、数组声明和赋值、数组复制、数组排序

    复习 1.do-while 1)语法 do{ //循环体 }while(<条件>); 2.while和do-while 1)while 先判断,后执行 初始条件不满足,一次都不执行 2)d ...

  10. Gemini.Workflow 双子工作流高级教程:对外API控制引擎:总述

    前言: 双子工作流提供了一套对外的API,用于控制整体系统运转,下面就来看看介绍,其实很简单的. 对外API控制引擎总介: Gemini.Workflow 双子工作流,对外提供的API,都在Gemin ...