Tag: xslt

XSLT检查String是否在一个集合内

我想检查一个string是否包含在一个集合。 我有一个Excel表格,我转换成一个xml文件; 例: 左侧的Excel工作表和右侧的转换工作表( RowData.xml ): 所以我有一个xml文件,这些数字可能会或可能不会在那里。 例如,源xml可能如下所示: Source.xml: <Data> <Number>5556781234</Number> <Number>5556781235</Number> <Number>5556781236</Number> </Data> 如你所见,它可以在任何地方停止。 源xml文件可能具有RowData.xml列出的所有数字,也可能只有一个或多个。 所以我的问题是,如何检查我的xslt文件? 我想做这个: <xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <!– This is the Excel sheet converted to an XML file –> <xsl:param name="sheet-uri" select="'RowData.xml'"/> <xsl:param name="sheet-doc" select="document($sheet-uri)"/> <xsl:template match="Data"> <xsl:for-each select="Data/Number"> <xsl:variable name="continue" select="$sheet-doc//Sheet/Row[Number = current()]/Continue"/> <xsl:if test=""> <!– Check the Source.xml against […]

XSLTsorting多个for-each

随着Saxon 9.7 xslt v3,我正在创build一个电子表格,内容是在两个单独的xsl:for-each blocks中生成的。 第一个块select树中较高的节点,例如在数据模型层上显示信息。 第二个块包含数据级别模型信息,但会涉及更多关于variables和模型内容的详细信息,创build以下输出: 前四行(1st xsl:for-each )处于模型级别,显示数据模型的注释,前一行(2nd xsl:for-each for- xsl:for-eachselect子节点)处于具有可变注释的variables级别。 我想按数据模型进行sorting,这样数据模型信息加上来自第二个xsl:for-each的variables信息就在一起了。 但到目前为止,我只能xsl:sort在xsl:for-each内进行xsl:sort ,而不是全部。 我想整个sorting dataList/ordinal dataList/dataListDefault/ordinal dataList/dataListDefault/variableList/variableListDefualt/ordinal dataList/dataListDefault/variableList/variableListDefualt/annotationList/annotationDefault/ordinal 我想看看: 我的XML <?xml version="1.0" encoding="UTF-8"?> <tables> <dataList> <ordinal>1</ordinal> <name>DATA1</name> <label>Data 1</label> <datasetList> <datasetListDefault> <ordinal>1</ordinal> <name>DS1</name> <annotationList> <annotation> Dataset 1</annotation> </annotationList> <variableList> <variableListDefault> <ordinal>1</ordinal> <name>VAR1</name> <label>Variable 1</label> <annotationList> <annotationDefault> <ordinal>2</ordinal> <annotation>This is the 1st variable</annotation> […]

回车在XSLT for Excel中返回

我想将回车添加到生成Excel文件的XSLT文件。 我的情况是,我在Excel单元格中有一个非常长的string。 我希望文本环绕在单元格内。 有什么build议? 我试着按照这里的build议,但没有为我的情况。 谈到风格的评论,似乎我无法控制的风格,无论我手动把'样式',当我通过文本编辑器查看生成的Excel文件,我总是看到以下内容: <Styles> <Style ss:ID="Default" ss:Name="Normal"> <Alignment ss:Vertical="Bottom"/> <Borders/> <Font ss:FontName="Calibri" x:Family="Swiss" ss:Size="11" ss:Color="#000000"/> <Interior/> <NumberFormat/> <Protection/> </Style> <Style ss:ID="s62"> <Alignment ss:Vertical="Bottom"/> <Borders/> <Font ss:FontName="Arial" ss:Bold="1"/> <Interior/> <NumberFormat/> <Protection/> </Style> </Styles>

在Excel中将文件拆分成多个文件

我在Excel中有以下文件: NAME VALUE ABC 10 ABC 11 ABC 12 DEF 20 DEF 21 DEF 22 GHI 30 GHI 31 GHI 32 我想通过“名称”列(上面的例子中的3个文件)将它分成文件,如下所示: 文件: ABC.xsl NAME VALUE ABC 10 ABC 11 ABC 12 文件: DEF.xsl NAME VALUE DEF 20 DEF 21 DEF 22 文件: GHI.xsl NAME VALUE GHI 30 GHI 31 GHI 32 到目前为止,尝试了以下macros: https : […]

使用XSLT将XML转换为CSV

如何使用XSLT将XML转换为CSV(在Excel文件中显示)? 提供的XML值本身包含逗号,例如 <name>The,Bad Boy</name> 我的逻辑把"The"和"Bad boy"视为分开的值,因为在Excel文件中打开后会出现在不同的列中。

我怎样才能parsing这个Excel的XML导出文件与这个XSLT文件?

我们可以用这个XSL文件来parsing这个testingXML文件: testingXML: <?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet href="newrows.xsl" type="text/xsl"?> <Workbook> <Worksheet> <Table> <Row> <Cell></Cell> <Cell>(info…)</Cell> <Cell></Cell> </Row> <Row> <Cell>first name</Cell> <Cell>last name</Cell> <Cell>age</Cell> </Row> <Row> <Cell>Jim</Cell> <Cell>Smith</Cell> <Cell>34</Cell> </Row> <Row> <Cell>Roy</Cell> <Cell>Rogers</Cell> <Cell>22</Cell> </Row> <Row> <Cell>(info…)</Cell> <Cell></Cell> <Cell>(info…)</Cell> </Row> <Row> <Cell>Sally</Cell> <Cell>Cloud</Cell> <Cell>26</Cell> </Row> <Row> <Cell>John</Cell> <Cell>Randall</Cell> <Cell>44</Cell> </Row> </Table> </Worksheet> </Workbook> XSL: <?xml version="1.0" encoding="UTF-8"?> […]

XSLT转换的Excel工作表…需要保护

我需要将DataSet结果导出到Excel文件(使用数据集,XSLT转换和XML生成=> XML电子表格)。 这是工作,但我想保护这张表。 读者只能在某些单元格中进行更改,而在某些单元格中却不允许其他更改。 允许的唯一更改是一些特定的单元格(值或下拉列表)。 我怎样才能做到这一点 ? 谢谢,

Excel电子表格到HTML编程

我有一个问题,我希望有人可以回答。 我正在使用.Net 3.5 Winforms和SpreadSheetGear 2010组件,并需要知道是否有一个免费或低成本的方法来将Excel工作簿转换为HTML? 是否有一个很好的XSLT转换或一些低成本或开源组件? 我可以将Excel文件保存为OpenXMLWorkbook,但该组件不允许保存为html。 任何帮助,将不胜感激。 谢谢。

“违反AllowDocumentFunction约束”在使用自定义XSL打开XML文件时出错在Excel 2010中

我有一个XML文件和关联的XSLT表。 当我尝试在Excel 2003或Excel 2007中打开XML文件时,我提供了一个使用我的XSL的选项,它可以完美地打开。 当我使用相同的选项在Excel 2010中打开相同的文件时,它显示出现以下错误消息的XML错误。 “违反了AllowDocumentFunction约束”

格式化由XSLT生成的XSLX文件中的单元格

我正在使用XSLT生成包含date列的报表。 在电子表格XLSX文件中,如果我将date作为string传递,当使用电子表格软件包(如Excel)打开它时,它将假定它是一个date(这是正确的),然后将其格式化为MM/dd/yyyy我们实际上想要的是dd/MM/yyyy 。 这似乎是造成这种情况的电子表格软件包,但是我想知道是否可以从XSLT定义单元格格式? 这里是我用来做到这一点的代码: <xsl:template match="SomeTemplate"> <Row> … <Cell> <xsl:value-of select="ms:format-date(StartTime, 'dd/MM/yyyy')" /> <xsl:text> </xsl:text> <xsl:value-of select="ms:format-time(StartTime, 'HH:mm:ss')" /> </Cell> … </Row> </xsl:template> 我试图用其他方法来解决这个问题,比如用'但是奇怪的是这不起作用! 以下是与上述XSLT相关的XML示例: … <Destination> <StartTime>2013-03-07T00:01:09</StartTime> <EndTime>2013-03-07T10:41:09</EndTime> … </Destination> …