Java ApachePOI:在excel工作表中标识原始表

Java ApachePOI:在excel工作表中标识原始表,java,excel,apache-poi,Java,Excel,Apache Poi,我有一张excel表格,看起来像这样 我希望遍历这个文件并指出不同表的开始和结束。例如:表1=>a1:b2,表2=>d1:g2。可以有多个这样的表 我正在寻找算法或步骤来完成这一点。我可以自己编写代码。这里的问题是,我正在逐列扫描excel工作表,因此,一旦遇到b1作为第一个表的结尾,我将向下遍历到a2和b2。稍后,我需要跳回第1行并扫描表2。我不确定,但您可能需要手动执行所有操作。您不能指定表格值,只能指定单元格。也许您可以提供一些背景信息,说明为什么要标识这些表格。是否要提取这些生成报告的

我有一张excel表格,看起来像这样

我希望遍历这个文件并指出不同表的开始和结束。例如:表1=>a1:b2,表2=>d1:g2。可以有多个这样的表


我正在寻找算法或步骤来完成这一点。我可以自己编写代码。这里的问题是,我正在逐列扫描excel工作表,因此,一旦遇到b1作为第一个表的结尾,我将向下遍历到a2和b2。稍后,我需要跳回第1行并扫描表2。

我不确定,但您可能需要手动执行所有操作。您不能指定表格值,只能指定单元格。

也许您可以提供一些背景信息,说明为什么要标识这些表格。是否要提取这些生成报告的数据或设置单元格样式。。。?您可以控制生成本身吗?上面的文件是一个模板文件。一旦我能够识别这些表,我就会创建一个结构,然后使用它遍历另一个包含数据的excel文件。此模板文件基本上是列标题等与实际数据之间的映射。这有意义吗?使用模板中的第一行标记表的开始和结束。例如(从图片中)不要合并标题报告,而是在
A1
中标记第一个表的开始,在
B1
中标记结束,在
D1
中标记第二个表的开始,在
G1
中标记结束。然后读取第1行以确定表的开始/结束。如果完成,则您拥有此信息,然后您可以通过编程方式删除标记并合并标题报告名称。您还可以使用引用第一个表行的
名称
。Apache poi可以使用
Workbook.getAllNames()
读取这些名称及其引用的公式。顺便说一句:你知道一个
Excel
工作簿可以包含多张工作表吗?为什么不为每个表格使用单独的表格?@AxelRichter感谢您为表格开始和结束使用标题标记。我现在就去试试。是的,你说excel有多个工作表是对的。但是,在我的例子中,多个工作表可能有多个表。