Учитывая это Open XML фрагмент:Как вывести больше столбцов, чем вход
<?xml version="1.0"?>
<?mso-application progid="Excel.Sheet"?>
<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet"
xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:x="urn:schemas-microsoft-com:office:excel"
xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"
xmlns:html="http://www.w3.org/TR/REC-html40">
<Worksheet ss:Name="Sheet5">
<Table ss:ExpandedColumnCount="7" ss:ExpandedRowCount="4">
<Column ss:Index="2" ss:AutoFitWidth="0" ss:Width="59.25"/>
<Column ss:Index="5" ss:AutoFitWidth="0" ss:Width="75"/>
<Column ss:AutoFitWidth="0" ss:Width="31.5"/>
</Table>
</Worksheet>
</Workbook>
... что XSLT 1.0 решения шаблонного (избегая петлю, если это возможно), я могу использовать для получения этого вывода HTML фрагмента:
<table>
<colgroup>
<col style="width:45pt;">
<col style="width:59.25pt;">
<col style="width:45pt;">
<col style="width:45pt;">
<col style="width:75pt;">
<col style="width:31.5pt;">
<col style="width:45pt;">
</colgroup>
</table>
Обратите внимание, что атрибут ss: ExpandedColumnCount указывает общее количество столбцов. Также обратите внимание, что a Столбец тег в источнике, который не включает ss: Индекс - это особый случай, который указывает следующий индекс столбца после предыдущего индекса; в этом случае он оценивается до 6. Все остальные столбцы принимают ширину 45pt.
В моей среде нет выбора, кроме использования MSXML2 Engine.
Это просто произвольный пример выбора диапазона на листе MS Excel, закодированном в Open XML, иногда называемом OOXML. Я ищу XLST, чтобы выполнить это преобразование в общем случае.
Откуда взялось значение '75pt'? –
Нам нужен более полный фрагмент XML, чтобы узнать, где объявлено пространство имен * ss *. – Parfait
@ michael.hor257k Это опечатка. Исправлена. –