7

我正在处理现有的 .xlsx 文件。任何人都可以与我分享,我怎样才能得到我当前的文件名?

我的意思是,假设我正在处理 test.xlsx 文件。如何使用 apache poi 获取工作簿“test.xlsx”的名称。

4

2 回答 2

10

POI 可以打开任何InputStream您想扔的工作簿。(文件的内存较低,但如果需要,您可以使用流,很多人都这样做)。如果一个流没有文件支持,那么它就没有文件名,所以再多的恳求 POI 也不会让你得到一个!

如果您从文件中打开工作簿,则该File对象知道文件名。要求它!否则,如果从 . 打开InputStream,很可能没有文件名,所以没有什么可提供的。

最后,请注意,与存储在文件中的工作表的名称不同,文件本身的名称并不是什么神奇的东西。获取test.xls,将其复制到test2.xls,并将其存储在数据库 blob 字段中。全部加载。它们都是同一个文件,但其中两个文件名不同,一个根本没有文件名!

于 2013-07-19T08:55:24.210 回答
-1

我通过将文件名存储在类字段变量中解决了这个问题

于 2015-09-02T16:18:31.027 回答