POI Excel导出样式设置

HSSFSheet sheet = workbook.createSheet("sheetName"); //创建sheet
sheet.setVerticallyCenter(true);

//下面样式可作为导出左右分栏的表格模板
sheet.setColumnWidth((short) 0, (short) 2600);// 设置列宽
sheet.setColumnWidth((short) 1, (short) 2400);
sheet.setColumnWidth((short) 2, (short) 2300);
sheet.setColumnWidth((short) 3, (short) 1600);
sheet.setColumnWidth((short) 4, (short) 1800);
sheet.setColumnWidth((short) 5, (short) 1000);// 空列设置小一些
sheet.setColumnWidth((short) 6, (short) 2600);// 设置列宽
sheet.setColumnWidth((short) 7, (short) 2400);
sheet.setColumnWidth((short) 8, (short) 2300);
sheet.setColumnWidth((short) 9, (short) 1600);
sheet.setColumnWidth((short) 10, (short) 1800);

HSSFCellStyle cellstyle = (HSSFCellStyle) workbook.createCellStyle();// 设置表头样式
cellstyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);// 设置居中

HSSFCellStyle headerStyle = (HSSFCellStyle) workbook .createCellStyle();// 创建标题样式
headerStyle.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER); //设置垂直居中
headerStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER); //设置水平居中
HSSFFont headerFont = (HSSFFont) workbook.createFont(); //创建字体样式
headerFont.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD); // 字体加粗
headerFont.setFontName("Times New Roman"); //设置字体类型
headerFont.setFontHeightInPoints((short) 8); //设置字体大小
headerStyle.setFont(headerFont); //为标题样式设置字体样式

HSSFCellStyle headerStyle1 = (HSSFCellStyle) workbook .createCellStyle();// 创建标题样式1
headerStyle1.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
headerStyle1.setAlignment(HSSFCellStyle.ALIGN_CENTER);
HSSFFont headerFont1 = (HSSFFont) workbook.createFont();
headerFont1.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);// 字体加粗
headerFont1.setFontName("Times New Roman");
headerFont1.setFontHeightInPoints((short) 8);
headerStyle1.setFont(headerFont1);

HSSFCellStyle headerStyle2 = (HSSFCellStyle) workbook .createCellStyle();// 创建标题样式2
headerStyle2.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
headerStyle2.setAlignment(HSSFCellStyle.ALIGN_CENTER);
HSSFFont headerFont2 = (HSSFFont) workbook.createFont();
headerFont2.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);// 字体加粗
headerFont2.setFontName("Times New Roman");
headerFont2.setFontHeightInPoints((short) 8);
headerStyle2.setFont(headerFont2);
headerStyle2.setBorderBottom(HSSFCellStyle.BORDER_THIN); // 下边框
headerStyle2.setBorderLeft(HSSFCellStyle.BORDER_THIN);// 左边框
headerStyle2.setBorderTop(HSSFCellStyle.BORDER_THIN);// 上边框
headerStyle2.setBorderRight(HSSFCellStyle.BORDER_THIN);// 右边框

HSSFCellStyle cell_Style = (HSSFCellStyle) workbook .createCellStyle();// 设置字体样式
cell_Style.setAlignment(HSSFCellStyle.ALIGN_CENTER);
cell_Style.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);// 垂直对齐居中
cell_Style.setWrapText(true); // 设置为自动换行
HSSFFont cell_Font = (HSSFFont) workbook.createFont();
cell_Font.setFontName("宋体");
cell_Font.setFontHeightInPoints((short) 8);
cell_Style.setFont(cell_Font);
cell_Style.setBorderBottom(HSSFCellStyle.BORDER_THIN); // 下边框
cell_Style.setBorderLeft(HSSFCellStyle.BORDER_THIN);// 左边框
cell_Style.setBorderTop(HSSFCellStyle.BORDER_THIN);// 上边框
cell_Style.setBorderRight(HSSFCellStyle.BORDER_THIN);// 右边框

HSSFRow row = sheet.createRow((short)1); //创建行
HSSFCell cell = row.createCell((short)1); //创建列
cell.setCellStyle(headerStyle2); //单元格引用样式

参考文档地址:http://blog.csdn.net/liyong199012/article/details/17962139

时间: 2024-10-06 06:06:51

POI Excel导出样式设置的相关文章

poi excel导出,下载

poi.jar包 public void downExcel(HttpServletResponse response,Page<ShopApply> page) throws Exception{ // 第一步,创建一个webbook,对应一个Excel文件 HSSFWorkbook wb = new HSSFWorkbook(); // 第二步,在webbook中添加一个sheet,对应Excel文件中的sheet HSSFSheet sheet = wb.createSheet(&quo

Excel导出时设置单元格的格式为文本

问题: 用excel导出数据时,如何设置单元格格式的数字分类为"文本",默认是"常规"? 比如:导出编码0235A089,在Excel查看默认显示的是没有前面的0. 解决方法: 用设置单元格的 NumberFormatLocal 属性即可: xlapp.Selection.NumberFormatLocal = "@" Excel导出时设置单元格的格式为文本,布布扣,bubuko.com

Asp.Net中应用Aspose.Cells输出报表到Excel 及样式设置

解决思路: 1.找个可用的Aspose.Cells(有钱还是买个正版吧,谁开发个东西也不容易): 2.在.Net方案中引用此Cells: 3.写个函数ToExcel(传递一个DataTable),可以另写个SetCellStyle的函数专门给各列设置样式. 4.在按钮的Click事件中调用此ToExcel()即可. 注:想更详细了解的到Aspose网站去,那里有很多在线文档,够你看的了.也可以下载个Demo程序研究. 部分代码贴在这里,代码还有需要改进的地方,暂时这么用着,给自己以后方便查找,再

java POI excel 导出复合样式(一个单元格两个字体)

前言:java poi 导出 excel 时,需要设置一个单元格有多个字体样式,有点类似于富文本. 想要达到的效果(一个单元格里): 我使用的 poi 版本是 <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.17</version> </dependency> 具体实现: 工具类方法:

POI excel导出

****************************************************************************************** excel表格导出,使用POI实现 ****************************************************************************************** 实现导出步骤 --配置导出excel模板,推荐使用03版xls格式,可以兼容高级版本 --处理导出数

.Net的Excel 导出 格式设置

添加引用:Microsoft   Excel   11.0   Object   Library ; 添加:using Microsoft.Office.Interop.Excel; 一.打开Excel文件============================ Microsoft.Office.Interop.Excel.Application excel1 = new Microsoft.Office.Interop.Excel.Application(); Workbook workboo

java poi excel导入模板设置下拉框

import org.apache.poi.hssf.usermodel.DVConstraint; import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFCellStyle; import org.apache.poi.hssf.usermodel.HSSFDataValidation; import org.apache.poi.hssf.usermodel.HSSFFo

Java POI Excel导出文件名中文乱码

在导出前对名称根据浏览器做下处理 // 判断浏览器类型,firefox浏览器做特殊处理,否则下载文件名乱码 public static void compatibleFileName(HttpServletRequest request, HttpServletResponse response, String excelname) throws UnsupportedEncodingException { String agent = request.getHeader("USER-AGENT

Excel导出纵向表格(poi)

导出表格头标签为纵向的Excel表格 1.service层 @Transactional(readOnly = true)    public HSSFWorkbook projectExports(Integer curPage, Integer perPageSum, Integer projectId, String schemaId,            HttpServletResponse response) throws InterruptedException, Executi