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. iSensor APP 之 摄像头调试 OV9655

    iSensor APP 之 摄像头调试  OV9655 iSensor app 非常适合调试各种摄像头,已测试通过的sensor有: l  OV7670.OV7725.OV9650.OV9655.OV ...

  2. H5 app在真机调试的时候正常,打包成app后报错

    在自己的一个用h5开发的项目中, 环境 IDE HBuilderX 打包工具 Hbuilder线上打包 开发语言 JS 现象 从一个列表进入详细页之后一直转圈圈.因为是调用系统原生的等待组件,界面无法 ...

  3. 9月最新184道阿里、百度、腾讯、头条Java面试题合集

    阿里面试题 1. 如何实现一个高效的单向链表逆序输出? 2. 已知sqrt(2)约等于1.414,要求不用数学库,求sqrt(2)精确到小数点后10位 3. 给定一个二叉搜索树(BST),找到树中第 ...

  4. Vue ---- 项目与环境搭建 初始项目结构 Vue生命周期

    目录 1. vue环境搭建 2. Vue项目搭建 pycharm配置并启动vue项目 3 . 认识项目 1. vue项目目录结构 2. 配置文件:vue.config.js 3. main.js 4. ...

  5. dev gridcontrol 行号

    /// <summary> /// GridView 显示行号 设置行号列的宽度 /// </summary> /// <param name="gv" ...

  6. GitHub 上的 12306 抢票神器,助力回家过年

    又到周末了,不过本周末有些略微的特殊. 距离每年一次的全球最大规模的人类大迁徙活动已经只剩下一个多月了,各位在外工作一年的小伙伴大多数人又要和小编一样摩拳擦掌的对待史上最难抢的抢票活动. 然鹅,身为一 ...

  7. KVM虚拟机快照备份

    KVM 快照的定义:快照就是将虚机在某一个时间点上的磁盘.内存和设备状态保存一下,以备将来之用.它包括以下几类: (1)磁盘快照:磁盘的内容(可能是虚机的全部磁盘或者部分磁盘)在某个时间点上被保存,然 ...

  8. web前端分享JavaScript到底是什么?特点有哪些?

    web前端分享JavaScript到底是什么?特点有哪些?这也是成为web前端工程师必学的内容.今天为大家分享了这篇关于JavaScript的文章,我们一起来看看. 一.JavaScript是什么? ...

  9. C#获取字符串的拼音和首字母

    在C#中我们想要获取字符串的拼音并不是那么困难的,在网上看到很多都是特别笨的方式来实现,其实各有各的好处吧,如果使用了下方法方式,它不知道多音字,这就是一个问题. /// <summary> ...

  10. C# 派生和继承(派生类与基类)

    using System; using System.Collections.Generic; using System.Text; namespace 继承 { class Program { st ...