如何将Excel文件的可见性设置为true

时间:2019-08-09 21:02:36

标签: java apache-poi

我正在使用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文件,而不是将其保存在计算机上。

1 个答案:

答案 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;
 }