1. POI

Apache POI 是基于 Office Open XML 标准(OOXML)和 Microsoft 的 OLE 2 复合文档格式(OLE2)处理各种文件格式的开源项目。

2. 样式设置

//设置标题
HSSFCellStyle titleStyle = workbook.createCellStyle(); // 创建标题样式
titleStyle.setAlignment(HorizontalAlignment.CENTER);// 设置标题水平居中显示
titleStyle.setVerticalAlignment(VerticalAlignment.CENTER);// 设置标题垂直居中显示
//设置上下左右四个边框 实线 or虚线
// titleStyle.setBorderTop(HSSFBorderFormatting.BORDER_THIN);
titleStyle.setBorderTop(BorderStyle.THICK);
titleStyle.setBorderBottom(BorderStyle.THICK);
titleStyle.setBorderLeft(BorderStyle.THICK);
titleStyle.setBorderRight(BorderStyle.THICK);
//设置上下左右四个边框颜色
titleStyle.setTopBorderColor(HSSFColor.RED.index);
titleStyle.setBottomBorderColor(HSSFColor.RED.index);
titleStyle.setLeftBorderColor(HSSFColor.RED.index);
titleStyle.setRightBorderColor(HSSFColor.RED.index);
//设置背景颜色
titleStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND); //设置填充方案
// titleStyle.setFillForegroundColor(new XSSFColor(new Color(181,181,181))); //设置填充颜色
//titleStyle.setFillForegroundColor((short) 80);
HSSFFont titleFont = workbook.createFont(); // 创建标题字体
titleFont.setItalic(false); // 设置字体为斜体字
titleFont.setColor(Font.COLOR_RED); // 将字体设置颜色
titleFont.setFontHeightInPoints((short)16); // 将字体大小
titleFont.setFontName("宋体"); // 设置字体为 宋体 应用到当前单元格上
titleFont.setBold(true);//加粗
titleStyle.setFont(titleFont); // 字体应用到 标题样式上
//设置内容
HSSFCellStyle contextCellStyle = workbook.createCellStyle();
//contextCellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);
//contextCellStyle.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
contextCellStyle.setAlignment(HorizontalAlignment.CENTER);
contextCellStyle.setVerticalAlignment(VerticalAlignment.CENTER);
Font cellFont = workbook.createFont();
cellFont.setColor(Font.COLOR_NORMAL);
cellFont.setFontHeightInPoints((short)15);
cellFont.setFontName("宋体");
contextCellStyle.setFont(cellFont);

3. 创建、设置、生成工作簿

//创建工作簿
HSSFWorkbook workbook=new HSSFWorkbook();
Sheet sheet = workbook.createSheet("会议导出");
// 设置 列 的宽度
//sheet.setColumnWidth(0, 900 * 10);
//sheet.setColumnWidth(1, 900 * 10);
//sheet.setColumnWidth(2, 900 * 10);
//sheet.setColumnWidth(3, 900 * 10);
//sheet.setColumnWidth(4, 900 * 10);
//标题
Row titleRow = sheet.createRow(0);
//设置行高40px
titleRow.setHeight((short)(15.625*40));
titleRow.setHeightInPoints((float)40);
for (int i = 0; i < titles.length; i++) {
//设置每列宽高
sheet.setColumnWidth(i, 900 * 15);
Cell cell = titleRow.createCell(i);
cell.setCellValue(titles[i]);
cell.setCellStyle(titleStyle);
}
//内容
for (int i = 0; i < userList.size(); i++) {
Row contextRow = sheet.createRow(i+1);
for (int j = 0; j < column.length; j++) {
Cell contextRowCell = contextRow.createCell(j);
contextRowCell.setCellValue(list.get(i).get(column[j]).toString());
contextRowCell.setCellStyle(contextCellStyle);
}
}
File file = new File("C:\\Users\\Desktop\\export-dep");
if (!file.exists()){
file.mkdir();
}
String path = file.getPath()+"\\"+execlName;
FileOutputStream fileOutputStream = new FileOutputStream(path);
workbook.write(fileOutputStream);
fileOutputStream.flush();
// 操作结束,关闭文件
fileOutputStream.close();
workbook.close();

3.Maven依赖

<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.17</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.17</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml-schemas</artifactId>
<version>3.17</version>
</dependency>

java POI创建HSSFWorkbook工作簿的更多相关文章

  1. POI教程之第一讲:创建新工作簿, Sheet 页,创建单元格

    第一讲 Poi 简介 Apache POI 是Apache 软件基金会的开放源码函数库,Poi提供API给java程序对Microsoft Office格式档案读和写的功能. 1.创建新工作簿,并给工 ...

  2. 使用SPIRE.XLS来创建Excel 工作簿

               使用SPIRE.XLS来创建Excel 工作簿     概要 最近在研究 .NET 控件,使用这些控件在程序中可以快速低成本实现功能. 在这一篇中我们使用的控件是Spire.XL ...

  3. java操作Excel的poi 遍历一个工作簿

    遍历一个工作簿 package com.java.poi; import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.h ...

  4. java POI创建Excel示例(xslx和xsl区别 )

    Java用来处理office类库有很多,其中POI就是比较出名的一个,它是apache的类库,现在版本到了3.10,也就是2014年2月8号这个版本. 在处理PPT,Excel和Word前,需要导入以 ...

  5. Java POI Excel 导入导出

    这个东西很容易懂,不是特别难,难就难在一些复杂的计算和Excel格式的调整上. 近期写了一个小列子,放上来便于以后使用. POI.jar下载地址:http://mirror.bit.edu.cn/ap ...

  6. POI教程之第二讲:创建一个时间格式的单元格,处理不同内容格式的单元格,遍历工作簿的行和列并获取单元格内容,文本提取

    第二讲 1.创建一个时间格式的单元格 Workbook wb=new HSSFWorkbook(); // 定义一个新的工作簿 Sheet sheet=wb.createSheet("第一个 ...

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

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

  8. java操作Excel的poi 创建一个sheet页

    package com.java.poi; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.ss.us ...

  9. c# 创建Excel com加载项Ribbon动态加载工作簿和工作表

    使用 VSTO 创建外接程序,Gallery控件动态加载工作簿名称 代码如下: 加载工作簿名称: private void Gallery1_ItemsLoading(object sender, R ...

  10. 用openpyxl创建工作簿和工作表

    import osimport openpyxl #设置默认路径os.chdir(r'D:/openpyxl/') #创建工作簿变量 wb = openpyxl.Workbook() #创建工作表变量 ...

随机推荐

  1. 运行python脚本报错SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape

    运行python脚本报错 SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes  in position 2-3: ...

  2. 狂神学习笔记domo6

    1.新特性,1000000000可以写成10_0000_0000便于阅读 2.强制类型转换 先强制类型转换再赋值才能正确的结果 public class domo06 { public static ...

  3. c/s winForm框架 tabpage标签切换窗体

    /// <summary> /// 根据窗体Name打开窗体 /// </summary> /// <param name="name">< ...

  4. mysql取消/开启外键约束

    删除外键约束: SET foreign_key_checks=0; 启动外键约束: SET foreign_key_checks=1;

  5. Android Studio Dolphin 稳定版正式发布

      作者 / Yuri Blaise, Product Manager, Android为了帮助开发者们更轻松地打造高质量应用,Android Studio 团队深入调研,为大家带来了最新稳定版 An ...

  6. el-table改变行高样式不生效的解决办法

    之前的效果是这样的,怎么设置也没用

  7. Linux完全卸载mysql的方式

    //rpm包安装方式卸载查包名:rpm -qa|grep -i mysql删除命令:rpm -e –nodeps 包名 //yum安装方式下载1.查看已安装的mysql命令:rpm -qa | gre ...

  8. vue element表格合计问题

    vue element计算表格合计问题 问题:当表格的el-table-column标签下的属性prop属性值为'对象.属性'时,将不能自动合计.例如: <el-table border v-l ...

  9. WinForm分辨率适应-高DPI自动缩放

    https://www.cnblogs.com/alittlecooing/p/WinForm-HighDPI.html 新建app.manifest文件后,去掉注释就可

  10. 使用ELRepo升级CentOS内核

    在腾讯云中部署了一些服务器,操作系统使用的是CentOS 7.6,但是其默认内核版本较低,现使用ELRepo对CentOS的内核进行升级. 操作环境 服务器:腾讯云轻量应用服务器 操作系统:CentO ...