Tag: xslt

从XSLT生成Excel 2007+文件的最佳方法是什么?

来自不同的语言,我陷入了ERP的发展。 这是事情 – 我们的ERP使用XSL转换来生成SpreadsheetML格式的Excel文件,并以.xls扩展名保存 – 这样窗口就可以在Excel中打开它。 这会导致用户被迫进入许多不必要的点击。 excel尖叫关于“修复”文件,希望用.xml扩展名保存 – 所以我们的用户必须select正确的扩展名才能发送到客户端/同事…这只是从用户的angular度来说是不必要的负载。 现在,由于历史的原因,我们无法抛弃XSLT(不pipe怎样,这真是太棒了),但是我们所希望的是从用户的angular度来简化整个stream程。 生成2007+格式 最后 – 彻底研究谷歌后,我写了xslt转换“ 引擎 ”,使我们能够生成有效的2007年格式。 我们现在所做的就是以OpenXML格式生成sheet.xml的内容。 它也允许我们生成启用macros的excel文件。 不过实话说。 有什么我错过了吗? 有没有其他方式如何生成与一些已经维护的解决scheme的Excel OpenXML格式? SpreadsheetML是一种方法 – 我不喜欢它,因为它对最终用户引入了巨大的需求,并且不包含图像/macros。 或者,也许我做错了什么? SpreadsheetML混淆 当我说SpreadsheetML我的意思是“XML电子表格” 。 我注意到,微软将OpenXML Excel格式也称为SpreadsheetML–这让我感到困惑。

XSL不能读取XML到Excel

我试图让我的XSL从我的XML拉数据推送到Excel。 我可以让Excel工作表生成和input单元格,但不会从XML文档中提取任何数据。 在下面的例子中,我想要的只是PLMXML元素的@date 。 XML: <?xml version="1.0" encoding="UTF-8"?> <PLMXML xmlns="http://www.plmxml.org/Schemas/PLMXMLSchema" schemaVersion="6" language="en-us" date="2013-06-11" time="11:47:25" author="XXXXXXXXX"> <Header id="id1" traverseRootRefs="#id2 #id8 #id36 #id38 #id41 #id43 #id40 #id48 #id50 #id47 #id55 #id57 #id54 #id62 #id64 #id61 #id68 #id84 #id93 #id98 #id118" transferContext="xXXXXxx" /> <ProductRevision id="id2" name="XXXXXXX &amp; XXXXXXXXX" accessRefs="#id3" subType="XXXXXXXXXX" masterRef="#id6" revision="03"> <ApplicationRef version="h0BAw48K4MeaHA" application="XXXXXXXX" label="gOGAwodW4MeaHA" /> </ProductRevision> […]

如何使用XSLT 1.0将Excel转换为带有嵌套元素的XML?

我想转换一个新的结构与嵌套元素从Excel导出的XML结构。 对于我来说,用XSLT v1.0来解决这个问题有点棘手。 我的目标是将行数据放入结果xml所需的层。 所以如果一行只包含1个数据的单元格,那么它就是一个例子: <projects> <category name="001"> … </category> </projects> 如果一行有2个数据单元,则它代表一个区域,应该是previos类别的子节点。 <projects> <category name="001"> <region name="AAA">…</region> <region name="BBB">…</region> </category> </projects> 如果该行有3或4个数据单元,则表示一个帐户,该帐户应该是之前区域的子帐户。 <projects> <category name="001"> <region name="AAA"> <account name="lorem">…</account> <account name="ipsum">…</account> </region> <region name="BBB">…</region> … </category> </projects> 好吧,我到目前为止:这是来​​自Excel的XML文件。 它具有重复行元素的简单结构。 每行包含5个单元格,但不是每个单元格也总是包含一个Data元素。 我试图用这个来确定每行代表什么样的信息。 <Table ss:ExpandedColumnCount="6" ss:ExpandedRowCount="69" x:FullColumns="1" x:FullRows="1" ss:StyleID="s62" ss:DefaultColumnWidth="69"> <Row ss:AutoFitHeight="0" ss:Height="14.25"> <Cell ss:Index="2" ss:StyleID="s68"/> <Cell […]

在Excel中打开文件时,用XSL创build的空html列太宽

我正在创build一个报告,通过使用XSL将XML文件转换为HTML文件。 在某些情况下,我有一个总是空的列。 我的问题是,无论我设置这个列有多狭窄,它总是太宽(通常,当有一些文本是一个或两个字母,在这种情况下,列将是宽,以容纳最大的string,这是3比空时窄4倍)。 当我没有数据时,有没有办法让这个列变得非常窄? 下面是创buildHTML文件的XSL代码的一部分(将空值replace为“用空白元素replace”的代码)。 对于宽度属性,我尝试了不同的值,无论我放什么值,当列是空的列的宽度是相同的(在Excel中打开时太宽):“FONT-WEIGHT:粗体 <xsl:choose> **<!– replace empty element with &nbsp; –> **<xsl:when test="string-length()= 0"> <xsl:attribute name="width">20px</xsl:attribute> <xsl:text disable-output-escaping="yes">&amp;</xsl:text> <xsl:text>nbsp;</xsl:text>** </xsl:when>** <xsl:when test="contains(name(.), 'Location')"> <xsl:attribute name="align">left</xsl:attribute> <xsl:attribute name="colspan">2</xsl:attribute> <xsl:apply-templates/> </xsl:when> <xsl:otherwise> <xsl:attribute name="align">left</xsl:attribute> <xsl:apply-templates/> </xsl:otherwise> </xsl:choose> </td> </xsl:for-each> </tr> </xsl:for-each> 谢谢。

合并文档中的XML节点

我有一个由MS Excel创build的XML文档。 我想要的是组合节点相同的ID。 我目前的XML是这样的: <ns1:publications> <ns1:book id="3" subType="book"> <ns1:peerReviewed>false</ns1:peerReviewed> <ns1:publicationCategory>scientific</ns1:publicationCategory> <ns1:publicationStatus>published</ns1:publicationStatus> <ns1:language>en_GB</ns1:language> <ns1:title> <ns2:text lang="en" country="EN">Kirja3</ns2:text> </ns1:title> <ns1:abstract> <ns2:text lang="en" country="EN"> </ns1:abstract> <ns1:persons> <ns1:author> <ns1:role>author</ns1:role> <ns1:person external="false" id="3"> <ns1:firstName>Rob</ns1:firstName> <ns1:lastName>Hubbard</ns1:lastName> </ns1:person> </ns1:author> </ns1:persons> <ns1:organisations> <ns1:organisation id="220400"/> </ns1:organisations> <ns1:owner id="220400"/> <ns1:publicationDate> <ns2:year>2014</ns2:year> </ns1:publicationDate> <ns1:visibility>Public</ns1:visibility> <ns1:numberOfPages>655</ns1:numberOfPages> <ns1:placeOfPublication>Newcastle</ns1:placeOfPublication> </ns1:book> <ns1:book id="3"> <ns1:title/> <ns1:abstract/> <ns1:persons> <ns1:author> <ns1:person id="4"> <ns1:firstName>Chris</ns1:firstName> […]

当我运行一个将UTF-8转换为ISO-8859-1的XSLT时,Excel VBA将我的XML中的'TM'(商标TM)转换为'T'

我有以下的XSLT采取XML编码的UTF-8,这是最初创build的Excel,并创build相同的XML,但编码ISO-8859-1 <xsl:stylesheet version="3.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:fn="http://www.w3.org/2005/xpath-functions"> <xsl:output method="xml" version="1.0" encoding="iso-8859-1" indent="yes"/> <xsl:template match="@* | node()"> <xsl:copy> <xsl:apply-templates select="@*|node()"/> </xsl:copy> </xsl:template> </xsl:stylesheet> 它运行良好,当我使用XMLspy来运行转换时, ™变成了伟大的。 我遇到的问题是当我使用下面的Excel VBA时,谢谢Parfait,在XML中运行XSLT ™变成了T Set xmldoc = CreateObject("MSXML2.DOMDocument") Set xsldoc = CreateObject("MSXML2.DOMDocument") Set newdoc = CreateObject("MSXML2.DOMDocument") 'LOAD XML xmldoc.async = False xmldoc.Load “path and file name & fileName.xml" 'LOAD XSL xsldoc.async = False […]

XLS和XSLFO的区别

XLS和XSLFO有什么区别? 这有点令人困惑。 我想将XLS文件转换为PDF,但aspose.pdf文档没有XLS-PDF指南(使用aspose.pdf)。 他们只有XSLFO到PDF。 我想知道如果XSLFO到PDF中的代码仍将被应用于将XLS转换为PDF。

如何从Excel电子表格创build一个.xslt文件?

我正在研究一个将DataSet保存到Excel文件的C#应用程序。 我发现了几个如何做到这一点的例子,但他们都需要你有一个xslt样式表。 我已经有一个现有的Excel电子表格,所有的工作表和列创build。 有没有一个简单的方法来创build一个.xslt文件从我现有的Excel电子表格? 一个例子 。

xslt擅长在asp.net

我必须导出到我的asp.net页面的excel。我想走的路线xml / xsl excel而不是datagrid导出。在网上我得到了如何做到这一点。 在这里input链接描述我想知道如何用列跨度,颜色,行跨度等格式化xsl。 <Table> <Row> <Cell><Data ss:Type="String">Row 1, Col 1</Data></Cell> <Cell><Data ss:Type="String">Row 1, Col 2</Data></Cell> <Cell><Data ss:Type="String">Row 1, Col 3</Data></Cell> <Cell><Data ss:Type="String">Row 1, Col 4</Data></Cell> </Row> xsl就像上面我喜欢知道如何做格式化columnpan,给颜色等…任何文件可用。如果我给与html格式的纯xsl当我在Excel中加载它不显示。

将数据从一个Excel模板转换到另一个Excel模板?

我想从一个Excel模板(由客户端提供)获取数据,然后将其转换为我自己的内部Excel模板。 我基本上希望能够写出从客户端的Excel模板中调用字段名称的转换(XSLT),然后通过某种映射过程将值导入到我自己的模板中的相应字段中。 有没有办法做到这一点? 例如,客户端可能有以下列:名字姓氏地址电话号码 不过,我的模板可能只有姓氏的电话号码 我想要转换只是自动从客户端的Excel模板中的三个相应的领域拉动值。 这可能吗? 如果是这样,我在看什么样的stream程? 注意:通过Excel模板,我只是指格式良好的Excel文件,其中包含字段和单元格值。