xls(excel)到图表
我有一个Excel文件 (xls),我想在网页上的图表中显示这些数据。
我可以将文件保存为Excel中的XML文档 ,但我现在不怎么parsing它。
$(document).ready(function() { $.ajax({ url: "data.xml", type: "GET", dataType: "xml", success: function(xml){ parseXml(xml); } }); }); function parseXml(xml) { var xml = $(xml); var data = xml.find("Worksheet").children('table').children('row').children('Cell'); console.log(data); }
这工作“种”,但要得到正确的价值是很难的。
例如,如果我想在xml文档中获得如下所示的Net Sales:
<Row> <Cell ss:StyleID="s44"> <Data ss:Type="String">Net sales</Data> </Cell> <Cell ss:StyleID="s45"> <Data ss:Type="Number">11779.0</Data> </Cell> <Cell ss:StyleID="s45"> <Data ss:Type="Number">10996.0</Data> </Cell> <Cell ss:StyleID="s46"/> <Cell ss:StyleID="s45"> <Data ss:Type="Number">10222.0</Data> </Cell> <Cell ss:StyleID="s46"/> <Cell ss:StyleID="s45"> <Data ss:Type="Number">11636.0</Data> </Cell> <Cell ss:StyleID="s45"> <Data ss:Type="Number">10918.0</Data> </Cell> <Cell ss:StyleID="s42"/> <Cell ss:StyleID="s45"> <Data ss:Type="Number">10231.0</Data> </Cell> <Cell ss:StyleID="s45"> <Data ss:Type="Number">9649.0</Data> </Cell> <Cell ss:StyleID="s46"/> <Cell ss:StyleID="s45"> <Data ss:Type="Number">10871.0</Data> </Cell> </Row>
自jQuery 1.5以来,内置的支持将XMLstringparsing为jQuery对象。 只需使用jQuery.parseXML
,然后就可以查询生成的jQuery对象,就像它是一个DOM。
由于具有相同的起源策略(请参阅MDC上的HTTP访问控制 ),因此无法执行跨浏览器GET,因此必须从XML文件复制源代码并将其放在textarea中。
可能是因为我得到一个分析错误,所以在那里有任何逃脱。 属性ss:Format
包含无效值:
_-* #,##0.00\ _k_r_-;\-* #,##0.00\ _k_r_-;_-* "-"??\ _k_r_-;_-@_-
我删除了这个值,它就像一个魅力! 在jsFiddle上查看我的testing用例 。