建议使用以下maven包,不然有些方法无法使用`
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.11</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.11</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml-schemas</artifactId>
<version>3.11</version>
</dependency>
下面是我整合好的代码,背景颜色可以参考上面提供的链接进行调试
import org.apache.poi.hssf.usermodel.*;
import org.apache.poi.hssf.util.HSSFColor;
import org.apache.poi.ss.usermodel.IndexedColors;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.util.CellRangeAddress;import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList;public class Test {
public static void main(String[] args) throws IOException {
//创建HSSFWorkbook对象
HSSFWorkbook wb =new HSSFWorkbook();
//创建HSSFSheet对象
HSSFSheet sheet = wb.createSheet("sheet0");
sheet.setDefaultRowHeightInPoints(20);//这是设置整个列表的高度高
sheet.setDefaultColumnWidth(20);//设置整个列表的宽度
sheet.addMergedRegion(new CellRangeAddress(0,0,0,5));//合并单元格,数字代表的依次为起始行,截至行,起始列, 截至列// HSSFRow titleRow = sheet.createRow(0);
// titleRow.setHeightInPoints(100);HSSFCellStyle cellStyle=wb.createCellStyle();//创建样式
cellStyle.setAlignment(HSSFCellStyle.VERTICAL_CENTER);//左右居中
cellStyle.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);//上下居中
//cellStyle.setFillPattern(HSSFCellStyle.DIAMONDS);//设置填充方式(填充图案)
//cellStyle.setFillForegroundColor(HSSFColor.RED.index);//设置前景色
//cellStyle.setFillBackgroundColor(HSSFColor.LIGHT_YELLOW.index);//设置背景颜色
cellStyle.setFillForegroundColor(IndexedColors.RED.getIndex()); //设置背景色
//cellStyle.setBorderBottom(HSSFCellStyle.BORDER_SLANTED_DASH_DOT);//设置底边边框,同理可设置其它边框
cellStyle.setBorderBottom(HSSFCellStyle.BORDER_THIN); //下边框
cellStyle.setBorderLeft(HSSFCellStyle.BORDER_THIN);//左边框
cellStyle.setBorderTop(HSSFCellStyle.BORDER_THIN);//上边框
cellStyle.setBorderRight(HSSFCellStyle.BORDER_THIN);//右边框
//cellStyle.setBottomBorderColor(HSSFColor.DARK_RED.index); // 设置单元格底部的边框颜色
//第一行
HSSFRow row1 = sheet.createRow(0);//创建行对象,1表示为EXCEL表格中第一行
row1.setHeightInPoints(20);//设置行高
HSSFCellStyle cellStyle1 = wb.createCellStyle();//建立样式
cellStyle1.setDataFormat(HSSFDataFormat.getBuiltinFormat("@"));//设置格式为文本
HSSFCell cell1 = row1.createCell(0);//创建单元格对象,为每一个单元格
cell1.setCellValue("");//设置当前单元格显示内容
row1.setRowStyle(cellStyle1);//给EXCEL单元格第一行单独设置样式
//sheet.setDefaultColumnStyle(1,cellStyle1);//给表设置默认的列属性,数字1表示第二列,cellStyle1为样式
//第二行
HSSFRow row2 = sheet.createRow(1);//创建行元素对象,数字表示行数,1为第二行
//for (int i=0;i<10;i++){//循环
HSSFCell cell2 = row2.createCell(0);//创建单元格对象,为每一个单元格
row2.setHeightInPoints(20);//针对当前列设置行高
cell2.setCellValue("一、通信说明");//设置当前单元格显示内容
cell2.setCellStyle(cellStyle);//设置当前单元格样式
//}
//第三行
sheet.addMergedRegion(new CellRangeAddress(2,2,0,5));//合并单元格,数字代表的依次为起始行,截至行,起始列, 截至列
HSSFRow row3 = sheet.createRow(2);//创建行元素对象,数字表示行数,0为第一行
HSSFCell cell = row3.createCell(0);//创建单元格对象,为每一个单元格
row3.setHeightInPoints(20);//针对当前列设置行高
cell.setCellValue("1.1 采用HTTPS协议进行数据交互");//设置当前单元格显示内容
cell.setCellStyle(cellStyle);//设置当前单元格样式
//第四行
sheet.addMergedRegion(new CellRangeAddress(3,3,0,5));//合并单元格,数字代表的依次为起始行,截至行,起始列, 截至列
//第五行
HSSFRow row5 = sheet.createRow(4);//创建行元素对象,数字表示行数,0为第一行
HSSFCell cell5 = row5.createCell(0);//创建单元格对象,为每一个单元格
row5.setHeightInPoints(20);//针对当前列设置行高
cell5.setCellValue("API请求的Content-Type为application/json;charset=utf-8");//设置当前单元格显示内容
cell5.setCellStyle(cellStyle);//设置当前单元格样式
// 第六行
HSSFRow row6 = sheet.createRow(5);//创建行元素对象,数字表示行数,0为第一行
HSSFCell cell6 = row6.createCell(0);//创建单元格对象,为每一个单元格
row6.setHeightInPoints(20);//针对当前列设置行高
cell6.setCellValue("API返回的JSON编码格式为UTF-8;");//设置当前单元格显示内容
cell6.setCellStyle(cellStyle);//设置当前单元格样式
// 第七行
HSSFRow row7 = sheet.createRow(6);//创建行元素对象,数字表示行数,0为第一行
HSSFCell cell7 = row7.createCell(0);//创建单元格对象,为每一个单元格
row7.setHeightInPoints(20);//针对当前列设置行高
cell7.setCellValue("1.2 调用地址");//设置当前单元格显示内容
cell7.setCellStyle(cellStyle);//设置当前单元格样式
//第八行
sheet.addMergedRegion(new CellRangeAddress(7,7,0,5));//合并单元格,数字代表的依次为起始行,截至行,起始列, 截至列
//第十一行
HSSFRow row11 = sheet.createRow(10);//创建行元素对象,数字表示行数,0为第一行
HSSFCell cell11 = row11.createCell(0);//创建单元格对象,为每一个单元格
row11.setHeightInPoints(20);//针对当前列设置行高
cell11.setCellValue("二、输入参数");//设置当前单元格显示内容
cell11.setCellStyle(cellStyle);//设置当前单元格样式
//第十二行
sheet.addMergedRegion(new CellRangeAddress(11,11,0,5));//合并单元格,数字代表的依次为起始行,截至行,起始列, 截至列
//第十三行
HSSFRow row13 = sheet.createRow(12);//创建行元素对象,数字表示行数,0为第一行
HSSFCell cell13 = row13.createCell(0);//创建单元格对象,为每一个单元格
row13.setHeightInPoints(20);//针对当前列设置行高
cell13.setCellValue("字段");//设置当前单元格显示内容
cell13.setCellStyle(cellStyle);//设置当前单元格样式
HSSFCell cell131 = row13.createCell(1);//创建单元格对象,为每一个单元格
//row13.setHeightInPoints(20);//针对当前列设置行高
cell131.setCellValue("字段名称");//设置当前单元格显示内容
cell131.setCellStyle(cellStyle);//设置当前单元格样式
HSSFCell cell132 = row13.createCell(2);//创建单元格对象,为每一个单元格
//row13.setHeightInPoints(20);//针对当前列设置行高
cell132.setCellValue("字段类型");//设置当前单元格显示内容
cell132.setCellStyle(cellStyle);//设置当前单元格样式
HSSFCell cell133 = row13.createCell(3);//创建单元格对象,为每一个单元格
//row13.setHeightInPoints(20);//针对当前列设置行高
cell133.setCellValue("字段长度");//设置当前单元格显示内容
cell133.setCellStyle(cellStyle);//设置当前单元格样式
HSSFCell cell134 = row13.createCell(4);//创建单元格对象,为每一个单元格
//row13.setHeightInPoints(20);//针对当前列设置行高
cell134.setCellValue("字段描述");//设置当前单元格显示内容
cell134.setCellStyle(cellStyle);//设置当前单元格样式
HSSFCell cell135 = row13.createCell(5);//创建单元格对象,为每一个单元格
//row13.setHeightInPoints(20);//针对当前列设置行高
cell135.setCellValue("备注说明");//设置当前单元格显示内容
cell135.setCellStyle(cellStyle);//设置当前单元格样式
//第十六行
HSSFRow row16 = sheet.createRow(15);//创建行元素对象,数字表示行数,0为第一行
HSSFCell cell16 = row16.createCell(0);//创建单元格对象,为每一个单元格
row16.setHeightInPoints(20);//针对当前列设置行高
cell16.setCellValue("三、输出参数");//设置当前单元格显示内容
cell16.setCellStyle(cellStyle);//设置当前单元格样式
//第十七行
HSSFRow row17 = sheet.createRow(16);//创建行元素对象,数字表示行数,0为第一行
HSSFCell cell17 = row17.createCell(0);//创建单元格对象,为每一个单元格
row17.setHeightInPoints(20);//针对当前列设置行高
cell17.setCellValue("字段");//设置当前单元格显示内容
cell17.setCellStyle(cellStyle);//设置当前单元格样式
HSSFCell cell171 = row17.createCell(1);//创建单元格对象,为每一个单元格
//row13.setHeightInPoints(20);//针对当前列设置行高
cell171.setCellValue("字段名称");//设置当前单元格显示内容
cell171.setCellStyle(cellStyle);//设置当前单元格样式
HSSFCell cell172 = row17.createCell(2);//创建单元格对象,为每一个单元格
//row13.setHeightInPoints(20);//针对当前列设置行高
cell172.setCellValue("字段类型");//设置当前单元格显示内容
cell172.setCellStyle(cellStyle);//设置当前单元格样式
HSSFCell cell173 = row17.createCell(3);//创建单元格对象,为每一个单元格
//row13.setHeightInPoints(20);//针对当前列设置行高
cell173.setCellValue("字段长度");//设置当前单元格显示内容
cell173.setCellStyle(cellStyle);//设置当前单元格样式
HSSFCell cell174 = row17.createCell(4);//创建单元格对象,为每一个单元格
//row13.setHeightInPoints(20);//针对当前列设置行高
cell174.setCellValue("字段描述");//设置当前单元格显示内容
cell174.setCellStyle(cellStyle);//设置当前单元格样式
HSSFCell cell175 = row17.createCell(5);//创建单元格对象,为每一个单元格
//row13.setHeightInPoints(20);//针对当前列设置行高
cell175.setCellValue("备注说明");//设置当前单元格显示内容
cell175.setCellStyle(cellStyle);//设置当前单元格样式
//输出Excel文件
FileOutputStream output=new FileOutputStream("E:\\execl\\workbook.xls");
wb.write(output);
output.flush();
}}