Java导出Excel里面有具体内容,带有格式。可以创建工具类直接去使用
/**
* 通用模版下载
* @param outputStream 以流的形式输出到浏览器
* @param excelName 下载excel的文件名称
* @param Waring 提示语言
* @param titleS 标题列
* @param contentS 内容列
* @throws Exception 抛出异常
*/
public static void excelCommonDown(OutputStream outputStream,String excelName,
String Waring,String[] titleS,String[] contentS) throws Exception {
// 传入值必须都有
if (excelName==null || Waring==null || titleS==null || contentS==null){
throw new RuntimeException("请填完值");
}
// 创建工作簿和工作表
Workbook workbook = new XSSFWorkbook();
Sheet sheet = workbook.createSheet(excelName);
// 创建一个样式,设置文本颜色为红色
CellStyle redStyle = workbook.createCellStyle();
Font redFont = workbook.createFont();
redFont.setColor(IndexedColors.RED.getIndex());
redStyle.setFont(redFont);
// 创建一个样式,设置文本颜色为绿色
CellStyle whileStyle = workbook.createCellStyle();
Font whiteFont = workbook.createFont();
whiteFont.setColor(IndexedColors.WHITE.getIndex());
whileStyle.setFont(whiteFont);
// 创建样式,设置背景颜色
CellStyle backColor = workbook.createCellStyle();
backColor.setFillForegroundColor(IndexedColors.GREY_40_PERCENT.getIndex());//设置背景色
backColor.setFillPattern(FillPatternType.SOLID_FOREGROUND);//必须设置 否则无效
//增加水平居中样式
backColor.setAlignment(HorizontalAlignment.CENTER);
//增加垂直居中样式
backColor.setVerticalAlignment(org.apache.poi.ss.usermodel.VerticalAlignment.CENTER);
CellStyle cellPosition = workbook.createCellStyle();
//增加水平居中样式
cellPosition.setAlignment(HorizontalAlignment.CENTER);
//增加垂直居中样式
cellPosition.setVerticalAlignment(org.apache.poi.ss.usermodel.VerticalAlignment.CENTER);
// 创建一个单元格,并在其中设置两段文本,分别使用不同的样式
Row row = sheet.createRow(0);
Cell cell = row.createCell(0);
// String content = "温馨提示:1、所有字段不可为空;2、学校名称:学校名称需要和导入学校保持一致(如不一致联系您的市场负责人进行修改)3、教师电话不可重复 4、批量导入时请删除本行再进行导入5、班级用英文逗号隔开 ";
cell.setCellValue(Waring);
// cell.getRichStringCellValue().applyFont(0,content.length()-1,redFont); //设置红色
// 第二行第一个,行只用设置一次,然后在每一列加入内容
// 不然,每次新建一个行,之前行的内容就没有了
Row row1 = sheet.createRow(1);//创建第二行
// 创建 标题字符串数组
// String [] titleS = new String[]{"序号","省名称","市名称","区县名称","学校名称","年级","班级","教师姓名","教师电话"};
for (int i = 0;i<titleS.length;i++){
Cell cell0 = row1.createCell(i);
String titleContent = titleS[i];
cell0.setCellValue(titleContent);
cell0.getRichStringCellValue().applyFont(0,titleContent.length(),whiteFont);
cell0.setCellStyle(backColor);
// 设置单元格 高度与宽度
sheet.setColumnWidth(i,20*256);
sheet.setDefaultRowHeight((short) 400);
cell0.setCellStyle(backColor);
}
// 创建第三行
Row row2 = sheet.createRow(2);
// 创建 例子字符串数组
// String [] contentS = new String[]{"1","河北省","石家庄市","桥西区","石家庄市第四十中学","七年级","1班,2班","张三","18807010001"};
for (int j = 0;j<contentS.length;j++){
Cell cell1 = row2.createCell(j);
String Content = contentS[j];
cell1.setCellValue(Content);
cell1.getRichStringCellValue().applyFont(0,Content.length(),redFont);
cell1.setCellStyle(cellPosition);
}
// 将工作簿保存到文件中
// FileOutputStream outputStream = new FileOutputStream("E:/浏览器下载位置/output.xlsx");
workbook.write(outputStream);
outputStream.close();
}