我正在使用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显示
文件]
如果我打开页脚编辑器,请单击该字段,不进行任何更改,然后保存 - 它可以正常工作。 编辑器将其显示为
&安培; [文件]
是否有解决方法或肮脏的技巧来避免这种情况?
谢谢
答案 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”。