最近需要这个功能,做一个总结
public static byte[] setHeaderAndFoot (byte[] excel) throws Exception {
//读取Excel文件
ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(excel);
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
byte[] result = null;
Workbook wb = new HSSFWorkbook(byteArrayInputStream);
// 设置页眉内容
String left = "\n" +
"\n" +
"\n" +
"\n" +
"\n" +
"\n" +
"\n" +
"\n" +
"\n" + "&\"宋体\"&10" +
"xx编号 :xxxx\n" +
"xx No." ;
String center = "\n" +
"\n" +
"\n" + "&\"宋体,Bold\"&22" +
"X X 结 果\n" + "&\"宋体\"&14" + //22 宋体
"RESULTS OF XX\n"+ //14 宋体
"\n" +
"\n" +
"&\"宋体,Regular\"&10" +"\n-------------------------------------------------------------------------------------------"; //设置为不加粗
String right = "\n" +
"\n" +
"\n" +
"\n" +
"\n" +
"\n" +
"\n" +
"\n" +
"\n" + "&\"宋体\"&10" +
"第 X 页共 Y 页\n" +
"Page of .";
//获取第一个工作表
for (Sheet sheet : wb){
sheet.setMargin(Sheet.TopMargin, 2.5); //设置页眉高度 2.5
sheet.setMargin(Sheet.HeaderMargin, 0.6); //设置页眉和顶部高度 0.6
//修改页眉内容
Header header = sheet.getHeader();
header.setLeft(left);
header.setRight(right);
header.setCenter(center);
}
//将修改后的工作簿对象写出到输出流
wb.write(byteArrayOutputStream);
result = byteArrayOutputStream.toByteArray();
//关闭流
byteArrayOutputStream.close();
byteArrayInputStream.close();
return result;
}
差不多就这样用&字体&字号来设置