核心代码:
//获取当前值
String stringCellValue = cell.getStringCellValue();
if (stringCellValue.contains("span")) {
// 创建一个富文本
XSSFRichTextString xssfRichTextString = new XSSFRichTextString(stringCellValue.replaceAll("<span>", "").replaceAll("</span>", ""));
//含有多个span 获取字符串包含几组span m
int length1 = stringCellValue.replaceAll("span", "").length();
int m = (stringCellValue.length()-length1) / 8;
// 创建一个字体样式
Font font1 = workbook.createFont();
font1.setColor(IndexedColors.RED.index);
//获取索引并标红
for (int p = 0; p < m; p++) {
int diyi = stringCellValue.indexOf("<span>");
stringCellValue = stringCellValue.replaceFirst("<span>", "");
int dier = stringCellValue.indexOf("</span>");
stringCellValue = stringCellValue.replaceFirst("</span>", "");
xssfRichTextString.applyFont(diyi, dier, font1);
}
cell.setCellValue(xssfRichTextString);
}
原始数据:
早晨,我和爸爸、妈妈一起到山上去找春天。来到山顶,太阳刚好破了云层冲了出来。霎时,天空红了一大片,就像给大地披了一层美丽的红纱。我贪婪的呼吸着那一缕缕春天的
星期日 晴今天一大早,爷爷带我去岭那边的菜园里挖菠菜,太阳暖洋洋的,照得我连动一动都不愿意。我懒懒地坐在土堆上,望着不远处,万物都开始复苏了。田野里
今天,天下着蒙蒙细雨,我和姐姐,姑妈,姑爷一起到乌尤寺看菊展。刚上山,啊!眼前的景致好美呀!沿着登顶的石阶摆满了红色的,黄色的,紫色的,白色的菊花。再往上走
输出结果:
附完整导出代码:
ExportParams exportParams = new ExportParams();
//设置工作薄名称
exportParams.setSheetName("员工信息表");
//导出数据
Workbook workbook = ExcelExportUtil.exportExcel(exportParams, Employees.class, employeesList);
Sheet sheetAt = workbook.getSheetAt(0);
//获取表格行数
int lastRowNum = sheetAt.getLastRowNum();
//获取列数
int physicalNumberOfCells = sheetAt.getRow(0).getPhysicalNumberOfCells();
//没有表格标题,只有表格头
for (int i = 1; i < lastRowNum + 1; i++) {
//获取行
Row row = sheetAt.getRow(i);
for (int j = 0; j < physicalNumberOfCells; j++) {
//获取单元格对象
Cell cell = row.getCell(j);
//获取单元格样式对象
CellStyle cellStyle = workbook.createCellStyle();
//获取单元格内容对象
Font font = workbook.createFont();
//一定要装入 样式中才会生效
cellStyle.setFont(font);
//设置单元格背景颜色
// cellStyle.setFillForegroundColor(IndexedColors.RED.getIndex());
// cellStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND);
//设置居中对齐
cellStyle.setAlignment(HorizontalAlignment.CENTER);
//设置单元格字体颜色
// font.setColor(IndexedColors.RED.getIndex());
cell.setCellStyle(cellStyle);
if (j == 3) {
//获取当前值
String stringCellValue = cell.getStringCellValue();
if (stringCellValue.contains("span")) {
// 创建一个富文本
XSSFRichTextString xssfRichTextString = new XSSFRichTextString(stringCellValue.replaceAll("<span>", "").replaceAll("</span>", ""));
//含有多个span 获取字符串包含几组span m
int length1 = stringCellValue.replaceAll("span", "").length();
int m = (stringCellValue.length()-length1) / 8;
// 创建一个字体样式
Font font1 = workbook.createFont();
font1.setColor(IndexedColors.RED.index);
//获取索引并标红
for (int p = 0; p < m; p++) {
int diyi = stringCellValue.indexOf("<span>");
stringCellValue = stringCellValue.replaceFirst("<span>", "");
int dier = stringCellValue.indexOf("</span>");
stringCellValue = stringCellValue.replaceFirst("</span>", "");
xssfRichTextString.applyFont(diyi, dier, font1);
}
cell.setCellValue(xssfRichTextString);
}
}
}
}
// 设置响应头
response.setContentType("application/vnd.ms-excel");
response.setCharacterEncoding("utf-8");
// 设置防止中文名乱码
String filename = URLEncoder.encode("员工信息表", "utf-8");
// 文件下载方式(附件下载还是在当前浏览器打开)
response.setHeader("Content-disposition",
"attachment;filename=" + filename + ".xls");
workbook.write(response.getOutputStream());
workbook.close();