当前位置: 首页 > 知识库问答 >
问题:

用Apache POI确定MS Excel文件类型

龚振濂
2023-03-14

我想我可以这样做:

int type = PoiTypeHelper.getType(file);
switch (type) {
case PoiType.EXCEL_1997_2007:
   ...
   break;
case PoiType.EXCEL_2007:
   ...
   break;
default:
   ...
}

谢了。

共有1个答案

羊舌洛华
2023-03-14

将评论提升为答案...

如果您要用这些文件做一些特别的事情,那么Rjokelai的答案是如何做到这一点。

但是,如果您只是使用HSSF/XSSF/Common SS usermodel,那么让POI为您完成这一操作,并使用WorkbookFactory为您检测并打开类型要简单得多。你可以做一些类似的事情:

 Workbook wb = WorkbookFactory.create(new File("something.xls"));
 Workbook wb = WorkbookFactory.create(request.getInputStream());
 类似资料:
  • 问题内容: 有没有一种方法可以确定Apache POI中的MS Office Excel文件类型?我需要知道Excel文件的格式是什么:Excel ‘97(-2007)(.xls)或Excel 2007 OOXML(.xlsx)。 我想我可以做这样的事情: 谢谢。 问题答案: 正在对答案发表评论… 如果您要对文件做一些特殊的事情,那么rjokelai的答案就是做到这一点。 但是,如果您只是要使用H

  • 本文向大家介绍使用Python(sndhdr)确定声音文件的类型,包括了使用Python(sndhdr)确定声音文件的类型的使用技巧和注意事项,需要的朋友参考一下 Python标准库中的sndhdr模块提供实用程序功能,可读取文件中声音数据的类型。函数返回,其中包含五个属性 文件类型 代表'aifc','aiff','au','hcom','sndr','sndt','voc','wav','8s

  • 我使用HTML5文件API将文件拖入电子应用程序,并获得文件详细信息(名称、哑剧类型、大小等)。)。如何通过电子对话框模块选择文件时实现相同?下面是利用HTML5文件API的代码(渲染过程):

  • 问题内容: 假设我们项目中的每个PHP文件都包含一个类定义,那么如何确定文件中定义了哪些类? 我知道我可以对文件进行正则表达式声明,但是我更喜欢做一些更有效的事情。 问题答案: 对于正在从事的项目,我需要这样的东西,这是我编写的功能:

  • 问题内容: 即,您如何从文本(xml / txt,独立于编码)中分辨出存档文件(jar / rar / etc。)? 问题答案: 没有保证的方法,但是有两种可能: 在文件上查找标题。不幸的是,标头是特定于文件的,因此尽管您可能能够发现它是RAR文件,但您将无法获得更通用的答案,无论是文本还是二进制。 计算字符与非字符类型的数量。文本文件将主要是字母字符,而二进制文件(尤其是压缩文件,如rar,zi

  • 问题内容: 如果我要创建一个泛型的Java类,例如: 如何才能内部确定该类,最后变成什么“ T”? 我戳了一下Java API并使用了反射的东西,instanceof,getClass,.class等,但是我似乎无法做出决定。我觉得我已经接近了,只需要合并多个电话,但会持续很短的时间。 更具体地说,我试图确定是否用3种可能的类型之一实例化了该类。 问题答案: 我在他的一些项目中使用了与他在此处解释