Tag: javascript

用于导出到CSV / Excel的数据URI(无服务器端请求):浏览器支持/限制?

以下问题: Javascript或Flash导出为CSV / Excel 是否有可能使用任何HTML5 fanciness导出本地存储到Excel? 并build议,我想在客户端中生成一个CSV文件的内容,然后使用数据URI来提示在浏览器中的“在Excel中打开”的行动。 在阅读了浏览器的这个特性(Data URI)的限制和不同级别的支持之后,我想了解一下这种技术的第一手经验以及我需要处理的事情。 谢谢。

你如何得到一个电子表格打开Excel而不是浏览器窗口?

如果您调用javascript window.open并将url传递给.xls文件,它将在浏览器窗口的某些机器上打开。 你如何强迫它进入Excel?

我如何读取JavaScript文件的Excel文件(无ActiveXObject)

我的朋友问我做一个简单的应用程序来从Excel文件生成图表(酒吧,曲线)。 我select使用JavaScript作为一种语言,因为我已经知道了强大的chart.js。 不过在使用chart.js之前,我必须从Excel文件中收集数据。 那么如何通过JavaScript读取Excel文件? 经过一些研究,我已经设法与Internet Explorer(使用ActiveX)做到这一点,但我需要它跨浏览器。

在另一个工作表中将HTML表格导出到Excel(.xls)

我有一个简单的HTML页面(由外部应用程序生成),包含一个表视图。 我试图刮掉从页面的表,并把它们放在一个Excel工作簿。 我已经设法通过使用这里可用的方法把整个HTML内容放在工作簿中。 来自相关问题的代码: var tableToExcel = (function() { var uri = 'data:application/vnd.ms-excel;base64,' , template = '<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40"><head><!–[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet><x:Name>{worksheet}</x:Name><x:WorksheetOptions><x:DisplayGridlines/></x:WorksheetOptions></x:ExcelWorksheet></x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]–></head><body><table>{table}</table></body></html>' , base64 = function(s) { return window.btoa(unescape(encodeURIComponent(s))) } , format = function(s, c) { return s.replace(/{(\w+)}/g, function(m, p) { return c[p]; }) } return function(table, name) { if (!table.nodeType) table = document.getElementById(table) […]

在Angularjs和WebApi中下载Excel文件xlsx

我正在做一个任务,在这个任务中,我必须以xlsx格式下载报告。 报告文件从服务器成功生成,也在客户端接收。 但是它没有打开并生成无效的格式错误。 以下是服务器端的代码。 var output = await reportObj.GetExcelData(rParams); if (output != null){ var result = new HttpResponseMessage(HttpStatusCode.OK) { Content = new ByteArrayContent(output.ConentBytes) }; result.Content.Headers.ContentType = new MediaTypeHeaderValue("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); result.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment") { FileName = output.FileName }; return result; } 这里是客户端的代码: var saveData = function (response) { if (response.status === 200) { var reportData = […]

JavaScript – 将HTML表格数据导出到Excel中

我试图将HTML表格转换为Excel,我已经尝试了将简单的表格转换为Excel的JavaScript函数,它工作正常。 如果我有多个表格,我将如何能够将所有表格数据添加到Excel文件中。 这是我的尝试。 我创build了2个表,并给出表索引testTable和testTable1 。 如何通过点击button将这两个表格id传递给JavaScript函数? 现在点击button只有第一个表格导出到Excel,因为我只传递'testTable' 。 我将如何能够导出多个表,例如: testTable , testTable1到Excel? 这里是JavaScript: <script> var tableToExcel = (function() { var uri = 'data:application/vnd.ms-excel;base64,' , template = '<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40"><head><!–[if gte mso 9]> <xml> <x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet><x:Name>{worksheet} </x:Name><x:WorksheetOptions><x:DisplayGridlines/></x:WorksheetOptions> </x:ExcelWorksheet></x:ExcelWorksheets> </x:ExcelWorkbook> </xml> <![endif]–> </head> <body> <table>{table}</table></body></html>' , base64 = function(s) { return window.btoa(unescape(encodeURIComponent(s))) } , format = function(s, […]

导出HTML表格到Excel JavaScript函数添加select文件名称

我有以下function,将HTML导出为Excel: function generateexcel(tableid) { var table= document.getElementById(tableid); var html = table.outerHTML; window.open('data:application/vnd.ms-excel,' + encodeURIComponent(html)); } 问题是,我不能把一个特定的文件名保存为这样的用户得到像这样的东西: 你想保存%3Ctable%20id%3D%22tableRslts%22%20tabindex%3D%2235%22%20文件吗? 保存的文件如下所示: IytvT8Jo.xls.part.xls (至less在我们将使用的目标浏览器的Firefox中) 你将如何解决这个问题?

通过Unicode字符的JavaScript生成Excel的CSV

我正在尝试使用JavaScript在客户端生成一个CSV文件。 我已经按照这个stackoverflow问题的答案 。 我的内容中有unicode字符(在我的情况下是希伯来字符)。 文件生成成功,但是当我在Excel中打开文件 – 所有的Unicode字符显示为有趣的字符。 ASCII字符(英文和数字)很好地呈现。 奇怪的是,如果我在记事本中打开文件,unicode字符显示良好。 所以我想这与Excel和我保存文件的方式有关。 有任何想法吗?

用JQuery读取Excel数据

我想知道如何从多工作表MS Excel 2003文件中使用什么,但jQuery的数据读取。 我已经阅读了PHP / JQuery,ActiveX等的几个解决scheme,但我想用JQuery来做。 任何想法如何可以工作? 我发现http://plugins.jquery.com/project/csv2table ,这几乎完美的工作,除了我必须将每个工作表分成CSV文件。 我想放弃这一步,直接从Excel文件中读取它。 预先感谢您的帮助! 顺便说一句 – 我在FireFox 4中工作,不需要跨浏览器支持。

如何在Excelmacros中使用JavaScript?

这里有一个非常酷的差异类: http://code.google.com/p/google-diff-match-patch/ 我之前在一些网站上使用过,但现在我需要在 Excelmacros中使用它来比较两个单元格之间的文本。 但是,它只能在JavaScript,Python,Java和C ++中使用,而不能在VBA中使用。 我的用户仅限于Excel 2003,因此纯.NET解决scheme将无法工作。 手动将代码翻译成VBA会花费太多时间,难以升级。 我考虑的一个select是使用.NET编译器(JScript.NET或J#)编译JavaScript或Java源代码,使用Reflector输出为VB.NET,然后将VB.NET代码手动降级到VBA,给我一个纯粹的VBA解决scheme。 在使用任何.NET编译器进行编译之后,我放弃了这个path。 假设我可以得到一个可用的.NET库,我也可以使用ExcelDna( http://www.codeplex.com/exceldna )这个开放源码的Excel加载项来简化.NET代码集成。 我最后的想法是托pipe一个Internet Explorer对象,发送它的JavaScript源,并调用它。 即使我得到这个工作,我的猜测是这将是泥泞缓慢和凌乱。 更新:find解决scheme! 我使用了接受的答案在下面描述的WSC方法。 我不得不稍微更改一下WSC代码来清理差异,并给我一个VBA兼容的数组数组: function DiffFast(text1, text2) { var d = dmp.diff_main(text1, text2, true); dmp.diff_cleanupSemantic(d); var dictionary = new ActiveXObject("Scripting.Dictionary"); // VBA-compatible array for ( var i = 0; i < d.length; i++ ) { dictionary.add(i, JS2VBArray(d[i])); } return […]