首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >读取excel的jxls,行数未知

读取excel的jxls,行数未知
EN

Stack Overflow用户
提问于 2011-08-26 22:34:55
回答 2查看 3.9K关注 0票数 4

如何配置jxls API来读取excel表格,因为我不知道编译时的行数。

什么是环路中断条件。

不能jxls找出在excel表格中有多少行有有效数据,并读取到那里。

有什么替代方案吗?

参考http://jxls.sourceforge.net/reference/reader.html

EN

回答 2

Stack Overflow用户

发布于 2016-08-30 18:48:06

您可以指定一个空值作为循环中断条件

代码语言:javascript
复制
<loopbreakcondition>
    <rowcheck offset="0">
        <cellcheck offset="0"></cellcheck>
    </rowcheck>
</loopbreakcondition>

这将进行循环,直到找到一个空单元格作为最后一次有效传递后下一行(offset=0 on rowcheck)中的第一个单元格(offset=0 on cellcheck)。可以使用offset属性更改不能为空的单元格或行。

rowcheck元素可以包含任意数量的cellcheck元素。在我的例子中,input Excel中没有一个单元格是强制的,所以我为行中的每个单元格指定了一个空的cellcheck元素。

示例(假设一行中有3个单元格)

代码语言:javascript
复制
 <loopbreakcondition>
    <rowcheck offset="0">
        <cellcheck offset="0"></cellcheck>
        <cellcheck offset="1"></cellcheck>
        <cellcheck offset="2"></cellcheck>
    </rowcheck>
</loopbreakcondition>

含义:

如果下一行中的所有单元格都为空,则

停止循环。

在某些单元格要求不为空的情况下,您可以通过只包含所需的单元格来简化上述中断条件。

示例(假设一行中有3个单元格,最后一个单元格是必需的)

代码语言:javascript
复制
 <loopbreakcondition>
    <rowcheck offset="0">
        <cellcheck offset="2"></cellcheck>
    </rowcheck>
</loopbreakcondition>

含义:

如果下一行的第三个单元格为空,则

停止循环。

票数 2
EN

Stack Overflow用户

发布于 2012-03-07 12:38:36

使用此链接http://www.mail-archive.com/jxls-user@lists.sourceforge.net/msg00094.html

基本上,您只需定义光标的开始位置。

代码语言:javascript
复制
 <loop startRow="7" endRow="7" items="department.staff" var="employee"  varType="net.sf.jxls.sample.model.Employee">
            <section startRow="7" endRow="7">
                <mapping row="7" col="0">employee.name</mapping>
                <mapping row="7" col="1">employee.age</mapping>
                <mapping row="7" col="3">employee.payment</mapping>
                <mapping row="7" col="4">employee.bonus</mapping>
            </section>
            <loopbreakcondition>
                <rowcheck offset="0">
                    <cellcheck offset="0">Employee Payment Totals:</cellcheck>
                </rowcheck>
            </loopbreakcondition>
        </loop>

这将从第7行读取所有记录,直到循环中断条件为reached.The,endRow值在这里略有混淆,但循环中断是由loopbreak条件而不是endRow值控制的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7206288

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档