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_-;_-* &quot;-&quot;??\ _k_r_-;_-@_- 

我删除了这个值,它就像一个魅力! 在jsFiddle上查看我的testing用例 。