apache-poi在页眉或页脚中插入文件名

时间:2013-03-06 14:05:46

标签: apache-poi export-to-excel excel-2003 poi-hssf

我正在使用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显示

  

文件]

如果我打开页脚编辑器,请单击该字段,不进行任何更改,然后保存 - 它可以正常工作。 编辑器将其显示为

  

&安培; [文件]

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

谢谢

1 个答案:

答案 0 :(得分:2)

它可能看起来像Excel中的“& [File]”,但这不是它在内部的存储方式。您正在为.xls文件使用HSSF,因此请使用以下static HeaderFooter method获取文件名的内部Excel代码:

import org.apache.poi.hssf.usermodel.HeaderFooter;

String fileIndicator = HeaderFooter.file();

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

如果有人将XSSF用于.xlsx文件,则没有相应的file方法。但是,documentation for XSSFHeaderFooter表示您可以直接使用字符串“& F”。