导出到excel - apache-poi插入文件名在页眉或页脚



我正在使用apache poi库(poi-3.8-20120326.jar)

我如何在一个xls (hssf)文档的页脚添加文件名?

我的方法如下:

final static public String FILE_NAME = "&[File]";
public static void insertFilename(Sheet sheet) {
    sheet.getFooter().setLeft(FILE_NAME);
}

问题是,Microsoft Excel 2003显示

文件]

如果我打开页脚编辑器,在字段中单击,不做任何更改,然后保存——它可以工作。编辑器显示为

[文件]

是否有解决方法或肮脏的技巧来避免这种情况?

谢谢

在Excel中可能看起来像"&[File]",但这不是它内部存储的方式。对于.xls文件,您将使用HSSF,因此使用以下静态HeaderFooter方法获取文件名的内部Excel代码:

import org.apache.poi.hssf.usermodel.HeaderFooter;
String fileIndicator = HeaderFooter.file();

快速查看源代码可以确定内部代码是字符串"&F"。

如果有人对.xlsx文件使用XSSF,则没有相应的file方法。但是,XSSFHeaderFooter的文档指出,您可以直接使用字符串"&F"。

最新更新