我正在使用Apache POI创建一个新的excel文件,我想将该文件的可见性设置为true。在使用Apache POI创建文件而不是将其保存在目录中后,该使用什么函数或代码来显示文件?
我尝试了下面的代码行,这些代码与我们在LotusScript中使用的代码相似,但是在该行上出现了“实例成员不存在”错误。
ExcelApplication.Visible = True
下面是我用来写入excel文件的代码,由于它可以将文件保存在我在“ fileName”中指定的目录中,因此可以正常工作。
public boolean writeExcelFile(String fileName) {
try {
//Auto fit content
for(int i = 0; i < 20; i++) {
this.wbSheet.autoSizeColumn((short)i);
}
// Write the output to a file
FileOutputStream fileOut = new FileOutputStream(fileName);
this.wb.write(fileOut);
fileOut.close();
} catch(Exception ex) {
ex.printStackTrace();
return(false);
}
return(true);
}
我希望可以创建并打开excel文件,而不是将其保存在计算机上。
答案 0 :(得分:1)
VBA
代码行ExcelApplication.Visible = True
(其中ExcelApplication
必须是Application object)只能工作,因为VBA
与{{1 }}应用。这不是Microsoft Office
正在做的事情。 apache poi
的目标是创建Apache poi
文件格式的文件。它既不需要任何已安装的Microsoft Office
应用程序,也不需要尝试与这些应用程序进行交互。
因此,Microsoft Office
准备就绪后,您将始终以适当的apache poi
文件格式获得一个文件。然后,您唯一可以做的就是使用Microsoft Office
打开该文件。例如:
java.awt.Desktop
完整示例:
public boolean openExcelFile(String fileName) {
try {
File file = new File(fileName);
Desktop.getDesktop().open(file);
} catch(Exception ex) {
ex.printStackTrace();
return false;
}
return true;
}