POI中可能会用到一些需要设置EXCEL单元格格式的操作小结:
先获取工作薄对象:
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet();
HSSFCellStyle setBorder = wb.createCellStyle();
一、设置背景色:
setBorder.setFillForegroundColor((short) 13);// 设置背景色
setBorder.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
二、设置边框:
setBorder.setBorderBottom(HSSFCellStyle.BORDER_THIN); //下边框
setBorder.setBorderLeft(HSSFCellStyle.BORDER_THIN);//左边框
setBorder.setBorderTop(HSSFCellStyle.BORDER_THIN);//上边框
setBorder.setBorderRight(HSSFCellStyle.BORDER_THIN);//右边框
三、设置居中:
setBorder.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 居中
四、设置字体:
HSSFFont font = wb.createFont();
font.setFontName("黑体");
font.setFontHeightInPoints((short) 16);//设置字体大小
HSSFFont font2 = wb.createFont();
font2.setFontName("仿宋_GB2312");
font2.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);//粗体显示
font2.setFontHeightInPoints((short) 12);
setBorder.setFont(font);//选择需要用到的字体格式
五、设置列宽:
sheet.setColumnWidth(0, 3766); //第一个参数代表列id(从0开始),第2个参数代表宽度值
六、设置自动换行:
setBorder.setWrapText(true);//设置自动换行
七、合并单元格:
Region region1 = new Region(0, (short) 0, 0, (short) 6);
//参数1:行号 参数2:起始列号 参数3:行号 参数4:终止列号
sheet.addMergedRegion(region1);
附上一个例子:
import org.apache.poi.ss.usermodel.Font;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
publicclass ExcelWriter {
/**
* Write Excel 2003
*/
publicvoid buildXSLXExcel(List<Map<String, String>> list, String filePath) {
HSSFWorkbook workBook = null;
String[] cellTitle = { "Screen Name", "Object Name", "XPath" };
try {
workBook = new HSSFWorkbook();// Create workbook
HSSFSheet sheet = workBook.createSheet();// create work sheet
workBook.setSheetName(0, "Repository");// set sheet name
HSSFRow titleRow = sheet.createRow(0);// Create first row
HSSFCell ScreenNameCell = titleRow.createCell(0, 0);
HSSFCell ObjectCell = titleRow.createCell(2, 0);
HSSFCell XpathCell = titleRow.createCell(4, 0);
// Create background color style
HSSFCellStyle cellStyle = workBook.createCellStyle();
cellStyle.setFillForegroundColor((short)13);
cellStyle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
// Create font style
Font titleFont = workBook.createFont();
titleFont.setFontHeightInPoints((short) 12);
titleFont.setBoldweight(Font.BOLDWEIGHT_BOLD);
cellStyle.setFont(titleFont);
// Add color style
ScreenNameCell.setCellStyle(cellStyle);
ObjectCell.setCellStyle(cellStyle);
XpathCell.setCellStyle(cellStyle);
// Set value
ScreenNameCell.setCellValue(cellTitle[0]);
ObjectCell.setCellValue(cellTitle[1]);
XpathCell.setCellValue(cellTitle[2]);
if (list != null && !list.isEmpty()) {
for (int i = 0; i < list.size(); i++) {
Map<String, String> dataMap = list.get(i);
HSSFRow row = sheet.createRow(i + 1);
HSSFCell ScreenNamecell = row.createCell(0);
HSSFCell Objectcell = row.createCell(2);
HSSFCell XPathcell = row.createCell(4);
ScreenNamecell.setCellValue(dataMap
.get(ParseXMLUtil.PARAM_SCREEN_NAME));
Objectcell.setCellValue(dataMap
.get(ParseXMLUtil.PARAM_OBJECT_NAME));
XPathcell.setCellValue(dataMap
.get(ParseXMLUtil.PARAM_OBJECT_PATH));
}
}
File file = new File(filePath);
File parent = file.getParentFile();
if (!parent.exists()) {
parent.mkdir();
}
if (!file.exists()) {
file.createNewFile();
}
FileOutputStream outStream = new FileOutputStream(file);
workBook.write(outStream);
outStream.flush();
outStream.close();
} catch (Exception e) {
System.err.println(e);
e.printStackTrace();
}
}
publicstaticvoid main(String[] args) {
// TODO Auto-generated method stub
}
}
相关推荐
POI-excel导出样式设计
POI操作Excel生成水印,该水印其实就是一个图片,该代码是将文字生成图片,再将图片变成水印的。
poi提供了excel转html的代码,但是吧,有好多问题。当有合并单元格时边框获取不到,单元格内的字体样式也转换不了,现在对poi提供的Tohtml.java做了一些修改,修复了这些问题,记录下,以备之后用到
Java Poi 导出excel(支持各种设置字体、颜色、垂直居中)
NULL 博文链接:https://yxhcquedu.iteye.com/blog/828707
poi 将多个excel复制到新的excel 的多个sheet页中 并复制所有的样式 包括字体的样式 背景颜色 单元格宽度 等
JS 基于ligerui excel 导出,采用poi方式,可实现冻结行列,图片,原样式等功能导出。
这个程序不光可以复制Excel的指定行数的内容而其还可以把其表格的样式复制。jar包也是齐全的,如果用的满意,还请多多支持
POI操作Excel 合并单元格 边框问题解决方法,这个方法是我亲自测试,并运用于项目中的,可以放心使用,还一并写出了很多注释,其中有写poi的bug的解决方法
关于java EXCEL poi 合并后无法显示或无法设置边框问题 【本人亲测】 excel poi 新手! 坑了1.5天!
三、 POI EXCEL文档结构类 HSSFWorkbook excel文档对象 HSSFSheet excel的sheet HSSFRow excel的行 HSSFCell excel的单元格 HSSFFont excel字体 HSSFName 名称 HSSFDataFormat 日期格式 HSSFHeader sheet头...
Java POI下载Excel模板 Excel带有下拉框的模板,并有详细注释,生成exlcel的下拉框,必填项标红,数字栏位防止科学计数法,并设置Excel标题样式
看到现在网上excel转pdf的代码很少,在csdn上找到一个还不能用,只能做简单的转换,只好自己写了一个,代码是一个maven工程,用eclipse创建,支持单元格合并等复杂的excel,同时能同步单元格样式到pdf中。...
本POI实战为本人在业余时间写成,从浅开始,整个文档处于初到中级水平,包含大部分项目开发中会用到的常用功能,由于本人精力与能力有限,如有错误欢迎指正。...5.9 Excel样式实例 48 6.总结 52 7.附录 53
JAVA开发中需要将表格中数据导出成EXCEL文件,其中的某一项又要设置为HTML格式,并支持点击链接,使用POI的开源方式导出时可以参考到此文件的内容!
通过poi导出数据,可设置多种样式,例如:字体格式,单元格样式,列宽等,附:maven依赖jar。用法简单便于操作。
详解JAVA_POI导出EXCEL报表的操作(包括各种格式及样式的实现),最全面的JAVA_POI导出EXCEL报表操作。
利用poi对excel模板的新追加指定的行数,可以复制模板的某一行,包含样式。获取数据,往excel模板写入。包括各种对excel复制的操作,改变样式等等。集合很多对excel的操作的代码。都是工程实践用的。
该文件中包含了所有java项目中针对excel导入导出所需的jar包集合。 -------------------------------------- 将该zip解压后,将jar...应用场景:如 excel格式对账单导出,将数据库数据导出到excel中(带样式字体等)。
/* 设置为超链接的样式*/ HSSFCellStyle linkStyle = wb.createCellStyle(); HSSFFont cellFont= wb.createFont(); cellFont.setUnderline((byte) 1); cellFont.setColor(HSSFColor.BLUE.index); ...