Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/343.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用ApacheTika获取Excel工作表的数量_Java_Excel_Apache Tika - Fatal编程技术网

Java 使用ApacheTika获取Excel工作表的数量

Java 使用ApacheTika获取Excel工作表的数量,java,excel,apache-tika,Java,Excel,Apache Tika,使用ApacheTika提取excel内容时,我只能从第一张工作表中提取内容。如何找到总张数?我使用的代码如下所示 BodyContentHandler handler = new BodyContentHandler(); Metadata metadata = new Metadata(); FileInputStream inputstream = new FileInputStream(new File("D:\\ExtractExcel\\test.xlsx")); ParseCont

使用ApacheTika提取excel内容时,我只能从第一张工作表中提取内容。如何找到总张数?我使用的代码如下所示

BodyContentHandler handler = new BodyContentHandler();
Metadata metadata = new Metadata();
FileInputStream inputstream = new FileInputStream(new File("D:\\ExtractExcel\\test.xlsx"));
ParseContext pcontext = new ParseContext();
OOXMLParser msofficeparser = new OOXMLParser();
msofficeparser.parse(inputstream, handler, metadata, pcontext);

如果只想处理某些工作表,则需要以输出HTML的方式调用ApacheTika。您可以在中看到一种方法。如果这样做,您将看到从Excel文件中获得的XHTML符合

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta name="meta:last-author" content="RIBEN9"/>
<meta name="dcterms:modified" content="2007-10-01T16:31:43Z"/>
<title>Simple Excel document</title>
</head>
<body>
   <div class="page"><h1>Feuil1</h1>
   <table><tbody><tr>   <td>Sample Excel Worksheet - Numbers and their Squares</td></tr>
   <tr> <td/></tr>
   </tbody></table>
   </div>
   <div class="page"><h1>Feuil2</h1>
   <table><tbody><tr>   <td/></tr>
   </tbody></table>
   </div>
</body></html>
如您所见,每个工作表都在其自己的部分中,因此您可以按该部分进行拆分

如果你看一看Tika的例子,你会看到如何只拉出一张纸