将筛选的HTML表格数据的JavaScript数组导出到MS Excel或CSV
我再次需要做一些听起来简单但实际上却令人沮丧地回避我的事情 在我公司的内部网站上,我们有一个大的数据表,其中应用了javascript过滤器,以便经理和其他相关方能够快速找到与他们相关的行。我正在使用的过滤器可以在找到 当我需要一个按钮将过滤结果导出到Excel,以便经理可以脱机访问数据时,我的问题就出现了。将HTML表导出到excel有许多直接的选项,但我一直无法弄清楚如何仅获取要导出的过滤结果(注意:此intranet站点只能通过IE访问) 有一个函数作为javascript表过滤器的一部分,getFilteredata(),它将获取过滤后的数据单元格并将其输入到一个数组中,我认为这个数组名为Filteredata[]。此数组的格式如下:[rowindex,[value1,value2,value3…] 那么,如何将该数组放入Excel或csv文件中呢?同样,这将只能由IE访问,因此activeX对象和控件是可以接受的将筛选的HTML表格数据的JavaScript数组导出到MS Excel或CSV,javascript,html,arrays,csv,export-to-excel,Javascript,Html,Arrays,Csv,Export To Excel,我再次需要做一些听起来简单但实际上却令人沮丧地回避我的事情 在我公司的内部网站上,我们有一个大的数据表,其中应用了javascript过滤器,以便经理和其他相关方能够快速找到与他们相关的行。我正在使用的过滤器可以在找到 当我需要一个按钮将过滤结果导出到Excel,以便经理可以脱机访问数据时,我的问题就出现了。将HTML表导出到excel有许多直接的选项,但我一直无法弄清楚如何仅获取要导出的过滤结果(注意:此intranet站点只能通过IE访问) 有一个函数作为javascript表过滤器的一部分
另外,我可能应该注意到,我不能使用服务器端技术,因此请将您的响应限制在HTML、javascript和activeX的范围内。谢谢 如果从版本8开始使用
IE
,则可以使用URL。只需生成URL并使用location.href
将borwser指向那里。CSV中的数据可以通过javascript和base64编码生成。如果从版本8开始使用IE
,则可以使用URL。只需生成URL并使用location.href
将borwser指向那里。CSV中的数据可以由JavaScript和Base64编码生成。您可能需要考虑一种依赖于字符串操作的方法。 一旦有了这个数组,就可以将其转换为JSON字符串。试试这个流行的轻量级库(json2.js):
例如:text = JSON.stringify(['e', {pluribus: 'unum'}]);
// text is '["e",{"pluribus":"unum"}]'
你应该吃点类似的东西
var dataString = '["rowindex",["value1","value2","value3"]]'
在此,您可以在字符串上使用一些正则表达式来将其格式化为任一种样式。
您可能需要考虑一种依赖于字符串操作的方法。
一旦有了这个数组,就可以将其转换为JSON字符串。试试这个流行的轻量级库(json2.js): 例如:text = JSON.stringify(['e', {pluribus: 'unum'}]);
// text is '["e",{"pluribus":"unum"}]'
你应该吃点类似的东西
var dataString = '["rowindex",["value1","value2","value3"]]'
此时,您可以对字符串使用一些正则表达式替换来将其格式化为任意一种样式。仅供参考:DataTables有一个名为TableTools的插件,它可以在客户端将表导出为csv。它是用Flash实现的。如果您对数据表的过滤器感到满意,我认为这将是一个很好的解决方案
http://www.datatables.net/extras/tabletools/仅供参考:DataTables有一个名为TableTools的插件,可以在客户端将表导出到csv。它是用Flash实现的。如果您对数据表的过滤器感到满意,我认为这将是一个很好的解决方案
http://www.datatables.net/extras/tabletools/你能举个例子吗。我尝试了同样的方法,但它似乎只适用于chrome。这是我的尝试,你能举个例子吗。我尝试了同样的方法,但它似乎只适用于chrome。这是我的尝试