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. Task 的一些个人见解

    Task确实比较好用且优雅 我感觉.NET要成为艺术家... public class TheTask { /// <summary> /// 直接调用是同步方法 /// </sum ...

  2. 线阵CCD-TCD1209采集系统&驱动设计

    关键字:CPLD+AD9945+TCD1209+CY7C68013A TCD1209,一款经典的CCD线阵单色传感器.本次设计一款基于usb2.0高速采集图像. CPLD+AD9945+TCD1209 ...

  3. Python3 网络编程基础1

    目录 开发架构 C/S架构 B/S架构 OSI模型 应用层 表示层 会话层 传输层 网络层 数据链路层 物理层 TCP协议 socket 开发架构 C/S架构 client 和 server, 既客户 ...

  4. 【Nodejs】392- 基于阿里云的 Node.js 稳定性实践

    前言 如果你看过 2018 Node.js 的用户报告,你会发现 Node.js 的使用有了进一步的增长,同时也出现了一些新的趋势. Node.js 的开发者更多的开始使用容器并积极的拥抱 Serve ...

  5. Mybatis-plus入门教程(一)

    什么是MyBatis-Plus MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发繁琐的CRUD.提高代码效率而生,同时 ...

  6. 区块链学习——HyperLedger-Fabric v0.6环境搭建详细教程

    v0.6 的架构相对简单,适合作为实验或学习来使用. 一.环境准备 一台云服务器(笔者使用的是阿里云的1核-2GB内存) Go语言环境 Docker安装 docker-compose安装 二.环境搭建 ...

  7. Springboot静态页面放在static路径下还是访问不到

    一种最常见的问题,静态资源放在默认的目录,如:resources/static或resources/templates 访问静态资源的时候,路径不应带上默认目录,因为springboot默认从这些目录 ...

  8. 深度理解return具体用法

    ''' 下面我们来更加深度的理解return具体用法!!! return 默认返回None return 可以返回任意数据类型的数据 return 返回多个值的时候,会以元祖的形式把多个值包在一起 ' ...

  9. Kubernetes 集群升级docker版本

    Kubernetes 集群升级docker版本   原则:升级完一台正常后再接着升下一台. Work Node 一.迁移上的pod(保证业务,但期间会出现抖动) kubectl drain $NODE ...

  10. WPF引用WinForm控件

    前言:在WPF开发当中由于DataGrid控件实现业务未达到非常理想的效果,我决定使用WinForm中的DataGridView来实现业务. 在XAML中加入以下命名空间: xmlns:wf=&quo ...