使用ApachePOI提取DominoJava附件并读取excel
我正在尝试将“excel模板”从现有notes文档提取到文件系统,并使用ApachePOI进行读取。我只在目录中不存在excel模板时才尝试提取该模板,否则尝试从同一位置读取,但在第二次运行时抛出null异常 这是我的密码使用ApachePOI提取DominoJava附件并读取excel,java,lotus-domino,Java,Lotus Domino,我正在尝试将“excel模板”从现有notes文档提取到文件系统,并使用ApachePOI进行读取。我只在目录中不存在excel模板时才尝试提取该模板,否则尝试从同一位置读取,但在第二次运行时抛出null异常 这是我的密码 //If it has an attachment if (doc.hasEmbedded()) { RichTextItem body = (RichTextItem)docTmpl.getFirstItem("B
//If it has an attachment
if (doc.hasEmbedded()) {
RichTextItem body = (RichTextItem)docTmpl.getFirstItem("Body");
Vector atts = body.getEmbeddedObjects();
EmbeddedObject att = (EmbeddedObject)atts.elementAt(0);
if ( att.getType() == EmbeddedObject.EMBED_ATTACHMENT ) {
String templatePath = "C:\\externalfiles\\excel\\" + att.getSource();
File f = new File( templatePath );
if(f.exists())
{
System.out.println("Template already exist,use existing one." + templatePath);
} else{
att.extractFile(templatePath);
}
XSSFWorkbook wb = new XSSFWorkbook(new FileInputStream(templatePath));
FileOutputStream fileOut = new FileOutputStream(fileName);
XSSFSheet sheet1 = wb.getSheet("General");
哪一行代码引发异常?下面一行返回null,xssf工作簿wb=newxssf工作簿(newfileinputstream(templatePath));第二次,att.getSource()是否返回完全相同的值?是否可能该文件仍处于打开状态/您没有关闭它?