Tag: javascript

我怎样才能改进这个MODE.MULT的实现

我写了一个相对复杂的Microsoft Excel的MODE.MULT函数的实现,它返回一个数组中最频繁出现或重复的值。 它实现了三个循环,包括一个嵌套到另一个,我怀疑有一个更简单的方法去做。 有关信息,它使用Lo-Dash中的 _.uniq从返回的数组中提取重复值。 function MODEMULT(range) { var n = range.length; var max = 0; var counts = new Array(); var result = new Array(); for (var i = 0; i < n; i++) { counts[i] = 0; for (var j = 0; j < n; j++) { if (range[j] === range [i]) { […]

添加将Excel数据粘贴到Django窗体的function

我目前有一个Django的forms,有N行12列的文本框的形状。 用户可以一次填充这个表单一个文本框: [________] [________] [________] [________] [________] [________] [________] [________] [________] [________] [________] [________] [________] [________] [________] [________] [________ ] [________] [________] [________] [________] [________] [________] [________] [________] [________] [________] 注:该表只显示9列,但我使用的实际forms是12。 我想添加用户在Excel中复制一系列单元格的function,并将其粘贴到填充相应单元格的表单中。 我试图模仿我已经成功创build的方法的语法,它可以在单击窗体上的清除button后清除所有数据字段: $(document).on("click", "#clear_button", function() { $("input[type=text]").val(""); }); 来自Excel单行的数据是用制表符分隔的,就我所得到的数据而言: $(document).on("paste", "input[type=text]", function(){ var input_id = $(this).attr("id"); var value = $(this).val(); var value_split_array = value.split("\t"); […]

在SheetJS中获取一个列名称的数组

我试图parsing一个Excel电子表格(.xlsx)到JSON。 我正在使用SheetJS节点包。 然而,我不能实现这样一个简单的事情 – 我如何获得与内部存储相同的格式的列名称? 以下是我的代码: function _buildColumnsArray(range) { // range = "A1:CA38" // … // should return ['A', …, 'Z', 'AA', …, 'AZ', 'BA', …, 'BZ', 'CA'…] } // ——– var workbook = XLSX.readFile(fileUrl), sheets = workbook.Sheets, result = {}; result.sheetNames = []; for (var i = 0; i < workbook.SheetNames.length; i++) { var […]

使用Blob在JavaScript中导出Excel不工作在FireFox中

我有一些JavaScript代码在第一个代码片段下给出,可以在最新的Chrome中使用,但不能在最新的FireFox中使用。 此代码使用Blob对象将数据导出到xls文件。 奇怪的是,在FireFox中,代码不会抛出任何错误,但什么都不做,因为它成功执行所有行,即不导出。 这个问题的演示是在这个URL: http : //js.do/sun21170/84920 如果您在Chrome上面的演示中运行代码,它将下载文件newfile.xls (允许在Chrome中popup)。 问题 :为了使它在FireFox中工作,我需要在Blob Code做出什么改变? 我尝试使用type: 'application/octet-stream' ,并type: 'text/plain' ,但两者在FireFox中都没有帮助。 下面的代码片段中的variablestable包含一个string,该string是用于呈现包括html和body标签的表格的html。 Blob代码导出(不工作在FireFox中) //export data in Chrome or FireFox //this works in Chrome but not in FireFox //also no errors in firefox sa = true; var myBlob = new Blob( [table] , {type:'text/html'}); var url = window.URL.createObjectURL(myBlob); var a […]

Excel VBA vs Javascript性能,用于迭代大数据集

我目前正在做一个涉及将大数据集过滤到可以在图表上绘制的可pipe理数据点的项目。 我用Javascript编写了下面的代码,遍历一系列的数据,并以给定的步长挑出第一个值,在这个例子中,start = 0,step = 0.1。 这工作很好,执行速度非常快。 我还没有量化,但对于> 10000个数据点肯定<1秒。 var data = [ … ]; var filteredData = []; var index = 0; var step = 0.1; for (var i=0; i < data.length; i++) { if(data[i] >= index) { filteredData.push(data[i]); index+=step; } } 使用迷你样本数据集的Javascript的Codepen 但是,我们所有的数据都是以Excel工作簿forms出现的,所以我使用VBA将这些代码重写为Excelmacros,如下所示,将数据点输出到相邻的列。 处理相同数量的数据点与JS等价物相比需要很长的时间,对于10000个数据点来说,大约需要20秒。 Dim dataRange As Range Set dataRange = Range(Range("A8"), Range("A8").End(xlDown)) […]

使用javascriptparsingExcel工作表

我正在使用SheetJS来parsingExcel工作表,但我遇到了以下错误: “Uncaught TypeError:jszip不是函数” 执行下面的代码时: var url = "/test-files/test.xlsx"; var oReq = new XMLHttpRequest(); oReq.open("GET", url, true); oReq.responseType = "arraybuffer"; oReq.onload = function(e) { var arraybuffer = oReq.response; var data = new Uint8Array(arraybuffer); var arr = new Array(); for(var i = 0; i != data.length; i++) arr[i] = String.fromCharCode(data[i]); var bstr = arr.join(""); var workbook = […]

在office.js中为excel设置条件格式

我需要一种方法来在office.js加载项中设置条件格式。 目前我认为我可以使用VBA来根据插件设置的单元值来设置它,但是直接从office.js中直接执行这个操作是非常好的。 我正在寻找一些创造性的解决方法,直到Microsoft在加载项中本地执行此操作。

像索引在Excel中的Excel

我已经写了一个函数,将excel像索引(A34)转换成JS索引(数组[0] [33])。 但是当列名更复杂时(例如AA),似乎不起作用。 这是迄今为止的代码 function excel_index(address) { let col = address.charCodeAt(0)-65; let row = address.substring(1)-1; return this[row][col]; } Array.prototype.excel = excel_index;

使用JavaScript或jQuery创build区分大小写或“camelCase”的XML节点

我需要在JavaScript中创build一些区分大小写的XML节点,它们之间有一个冒号的属性名称。 示例: <Data ss:Type="String">Contact Name</Data> 当我尝试使用createElement()函数通过JavaScript创build元素时,它会以小写forms创build它。 另外,在其中添加冒号的属性还有很多问题。 例如: ss:Type="String" 这是Excel数据,我将源.xml文件保存回.xls文件。 Excel元素和属性的情况对于Excel能够读取文件非常重要。 任何示例或指针都将非常有帮助。

使用Javascript的Excelmacros

我希望在Javascript中使用macros来处理excel电子表格,而不是默认的VBA。 我可以使用以下VBA代码执行JavaScript代码 'javascript to execute Dim b As String b = "function meaningOfLife(a,b) {return 42;}" 'VBA tool to run it Dim o As New ScriptControl o.Language = "JScript" o.AddCode b MsgBox o.Run("meaningOfLife", 0, 1) 这使我能够执行任意的JavaScript,但是我没有从JavaScript环境中访问Excel电子表格。 有没有什么办法,我可以设置和工作表中的值在JavaScript中的活动工作表?