Я получил решение, изменив версию Excel.dll. Я использовал 15.0.0.0, и теперь я изменил его на 12.0.0.0 и его работу отлично. Я получил dll из Add reference > Browse > C: > Windows > assembly > GAC > Microsoft.Office.Interop.Excel > 12.0.0.0_etc > Microsoft.Office.Interop.Excel.dll
XSLT записан в очень функциональном стиле, и в этом стиле нет никакого эквивалента break
оператор. То, что можно сделать, является чем-то вроде этого:
<xsl:for-each select="...nodes...">
<xsl:if test="...some condition...">
...body of loop...
</xsl:if>
</xsl:for-each>
Тот путь эти for-each
все еще выполнит итерации через все узлы, но тело цикла будет только выполняться, если условие будет верно.
XSLT не является процедурным языком; не думайте для - каждый как являющийся "циклом" в способе, которым у Вас есть цикл в Java. Для - каждый - способ применить шаблон к каждому набору объектов. Это не обязательно происходит в особом порядке, таким образом, Вы не можете думать о нем, поскольку "применяют этот шаблон к каждому набору объектов, пока такой-то и такой-то не происходит, затем остановитесь".
Тем не менее можно использовать избранный атрибут для фильтрации результатов, таким образом, это становится больше как, "применяют шаблон к каждому набору объектов, но только если такой-то и такой-то верен для них".
, Если то, что Вы действительно хотите, "применяют шаблон к каждому набору объектов, где такой-то и такой-то верен для них, но только к первому это верно для", можно объединить избранный атрибут с положением () функция.
А "повреждение" от тела <xsl:for-each>
инструкция XSLT не может быть указана с помощью синтаксической конструкции , однако это может быть моделировано .
Этот фрагмент кода по topxml.com описывает технику подробно:
В случае, если Вы нуждаетесь в ""перерыве"" от xsl:for-каждого цикла
По существу, два метода обсуждены :
Выполнение чего-то в теле <xsl:for-each>
, только если особое условие удовлетворено.
Определение обработки, не используя <xsl:for-each>
, но с рекурсией
второй метод обладает преимуществом способности сразу выполнить выход , контрастировавший с первой необходимостью метода все еще выполнить много "пустых циклов" даже после того, как условие выхода было удовлетворено.