Tag: 数组

PHPExcel,如果$ value = $ value那么跳过?

我正在尝试使用PHPExcel读取xlsx文件,但是我尝试使用第1列值生成导航栏时出现问题。 由于我的大部分专栏包含相同types的价值, eg T-Shirt, T-Shirt… Cap, Cap, Cap.. Hoodies, Hoodies…我有一个问题筛选出相同的价值,有人有任何想法如何跳过与前一个值相同的值? 这是我的代码: <?php for ($column = 2; $column <= $highestRow; ++$column) { $cat = $objWorksheet->getCellByColumnAndRow(0, $column)->getValue(); if ($cat == $cat) { continue; } else { echo '<li><a href="'.$cat.'">'.$cat.'</a></li>'; } } ?> 如果它在我的导航栏的<li><a href=""></a></li>下工作,那将会很棒

如何在Excel数组上创build反向sorting

我有250个元素“myArray(1到250)”的数组。 有一个内置的macrosfunction,可以给我一个反向号码列表的Excel? 例如,如果我想从最后一个数字循环到第一个数组(250到1),最后一个数字可以有一个指针作为循环中处理的第一个项目,即。 250是第一次处理,249是第二次处理,248是第三次,等等? 我的目标是使用内置函数创build一个逻辑循环。

将多维string数组导出到新的Excel电子表格

使用互操作我设法导入一个Excel文档(包含人口)到这种格式的多维string数组: public string[,] DataArray; 我用这个方法来填充数组: try { Excel.Application xlApp = new Excel.Application(); xlWorkBook = xlApp.Workbooks.Open(FilePath); Excel._Worksheet xlWorksheet = xlWorkBook.Sheets[1]; Excel.Range xlRange = xlWorksheet.UsedRange; rowCount = xlRange.Rows.Count; colCount = xlRange.Columns.Count; InitialiserTableauPopulation(rowCount, colCount); for (int x = 1; x <= colCount; x++) { for (int y = 1; y <= rowCount; y++) { DataArray[x – 1, y […]

防止数组公式返回相同的答案两次,获取下一个值

所以我有一份我正在和他们合作的员工名单,他们可以填写我们的项目。 我会根据目前工作时间最less的人员join成员。 我已经写了一个数组公式,在当前最less时间的每个位置抓人,然而,某些人有资格获得两个职位,他们经常在这两个职位上面,因为他们有这么几个小时。 有没有办法使用count()或其他函数,我可以告诉我的数组公式,以确保同一个人还没有出现在这个团队? 我的数据设置如下: 正如你所看到的,在K2中,我有下面的数组公式,我已经拖到K9,以便抓住那个位置最less的员工。 {=INDEX($A$1:$H$1,MATCH(SMALL(IF($A$2:$H$9=$J2,$A$10:$H$10,""),1)&$J2,$A$10:$H$10&$A2:$H2,0))} 问题是Kelly出现了3个位置,Beth出现了2个,这是不可能的。 有没有办法让我的数组公式检查重复? 我需要做一个帮手count()部分? 感谢任何和所有的帮助,请让我知道,如果你需要任何澄清!

重新初始化dynamic数组

当我使用Range.Value函数时,我有大量的单元格(大约30,000行,60列)溢出。 这似乎发生,因为由Range.Value函数创build的内存托pipe数组不够大。 如果我声明一个数组,那么它工作得很好。 所以我需要一个dynamic数组variables,我可以将其设置为等于Range.Value,将数据传送到表单上的其他位置,然后重新初始化它以用于下一个大范围。 我不能在我的生活中find有关如何重新初始化dynamic数组的信息。 如果我使用Erase myArray那么它似乎我不能再赋值给variables,但我不能再Dim数组。 如果我Redim ,我将不得不创build很多复杂的函数来手动find我的数组的大小。 这里有什么窍门?

函数来确定数组中是否存在特定的string

给定一个数组,我想有一个函数来确定一个string是否存在于一个数组中。 string必须与函数的input和数组内容完全相同。 Function IsInArray(ThsStrng As String, arr() As String, bnd As Integer) As Boolean For Z = 1 To bnd If arr(Z) = ThsStrng Then IsInArray = True Else IsInArray = False End If Next Z End Function 起初,它似乎正常运行的function。 使用这个函数几次之后,我发现False值(意味着inputstring不等于数组中的值)是不正确的(input值与数组中的值完全相同) 。 请帮忙,

Range.FormulaArray在特定情况下导致错误

我有一段代码将数组公式放在一个范围内。 这是抛出运行时错误:1004“无法设置Range类的FormulaArray属性”。 但是,当我在单元格中粘贴相同的公式,并按Ctrl + Shift +input一切工作正常。 strFormula = "=IF(SUM(–(A2=Data!$A$2:$A$1423)*–(B2=YEAR(Data!$B$2:$B$1423))* –(C2=MONTH(Data!$B$2:$B$1423)) * (Data!$E$2:$E$1423))=0,TEXT(,),SUM(–(A2=Data!$A$2:$A$1423)*–(B2=YEAR(Data!$B$2:$B$1423))* –(C2=MONTH(Data!$B$2:$B$1423)) * (Data!$E$2:$E$1423)))" shtAbsoluteData.Range("D2").FormulaArray = strFormula IF条件插入时发生问题。 所以没有IF下面的代码工作正常: strFormula = "=SUM(–(A2=Data!$A$2:$A$1423)*–(B2=YEAR(Data!$B$2:$B$1423))* –(C2=MONTH(Data!$B$2:$B$1423)) * (Data!$E$2:$E$1423))" shtAbsoluteData.Range("D2").FormulaArray = strFormula 注意:如果我使用shtAbsoluteData.Range("D2").Formula那么没有错误,但结果是不正确的

一次只读一个“行”的Java制表符分隔的文件

我已经编写代码一次读取一行(行)制表符分隔的文件。 我通过将其保存为制表符分隔的文本文件,从Excel电子表格中创build了他的文件。 电子表格中的每一行都有39列,这意味着38个选项卡。 这样做的目的是能够在XML标签中将39位数据中的每一位(包括空位)进行包装。 但是,这个代码a。 一次一行地打印电子表格中的每一条数据,我在尝试访问特定的数据项时遇到了困难,这是必不可less的。 例如,第一列是用户标识,第十二列是主要地址行1,第36列是用户标识。 但是,如果我改变下面的代码得到(55)我得到一个IndexOutOfBoundsexception。 如果我询问第一个数据,得到(0),程序列出整个文件中的每一个数据。 boolean resultFlag = false; try { theScanner = new Scanner(new FileReader("C:\\WMS\\GGBTS_Patron_Data_20160317_V1-0.txt")); while (theScanner.hasNextLine()) { patronRow = theScanner.next(); itemArray = new ArrayList(Arrays.asList(patronRow.split("\t"))); for(int i=0; i<itemArray.size(); i++) { System.out.println(" –>"+itemArray.get(i)); } } resultFlag = true; } 在进入下一个逻辑行之前,我需要做些什么才能获得单行的39个元素,并能够通过索引号引用它们? 我不知道Excel是否将制表符分隔的文件保存为\ n \ r之类的。 请帮助。 我在这里受到一些阻碍,因为虽然我是一个程序员多年,但在目前的情况下,我是一个小型图书馆的学术参考图书馆员,没有办法获得IT支持。 无论如何,我知道编程比我们的两个IT人员更好,他们处理操作,而不是编码。 谢谢。 肯

Excel列表顶部发生的数字

我search,但还没有find一个例子,发现列表中排名前三的数字。 大多数代码是用于文本,最高得分或前三个最大值。 我有一个订单清单,在这一年中发生的零件号码和价格。 -A ——— ———乙Ç——- ——- dÈ 60470 $ 58 60470 $ 58 89038 $ 60 31859 $ 37 60470 $ 58 29079 $ 78 35568 $ 40 82677 $ 92 69172 37美元 31859 $ 37 89038 $ 60 31859 $ 37 31859 $ 37 60470 $ 58 31859 $ 37 60470 $ 58 […]

VBA – StrComptypes不匹配或下标超出范围

我正在运行一个For循环来查找variables数组中的string。 我正在使用StrComp比较string。 我正在使用以下格式的数组。 我已经尝试了两种方法,我将在下面描述。 第一种方法返回,当我使用col = 0时,下标超出范围 Function IsInArray(stringToBeFound As String, arr As Variant, col As Integer) As Long Dim i As Long ' default return value if value not found in array IsInArray = -1 For i = LBound(arr) To UBound(arr) If StrComp(stringToBeFound, arr(i, col), vbTextCompare) = 0 Then IsInArray = i Exit For […]