我正在处理现有的 .xlsx 文件。任何人都可以与我分享,我怎样才能得到我当前的文件名?
我的意思是,假设我正在处理 test.xlsx 文件。如何使用 apache poi 获取工作簿“test.xlsx”的名称。
我正在处理现有的 .xlsx 文件。任何人都可以与我分享,我怎样才能得到我当前的文件名?
我的意思是,假设我正在处理 test.xlsx 文件。如何使用 apache poi 获取工作簿“test.xlsx”的名称。
POI 可以打开任何InputStream
您想扔的工作簿。(文件的内存较低,但如果需要,您可以使用流,很多人都这样做)。如果一个流没有文件支持,那么它就没有文件名,所以再多的恳求 POI 也不会让你得到一个!
如果您从文件中打开工作簿,则该File
对象知道文件名。要求它!否则,如果从 . 打开InputStream
,很可能没有文件名,所以没有什么可提供的。
最后,请注意,与存储在文件中的工作表的名称不同,文件本身的名称并不是什么神奇的东西。获取test.xls
,将其复制到test2.xls
,并将其存储在数据库 blob 字段中。全部加载。它们都是同一个文件,但其中两个文件名不同,一个根本没有文件名!
我通过将文件名存储在类字段变量中解决了这个问题