coldfusion - 如何在 ColdFusion 2016 中动态设置电子表格自动过滤器?

标签 coldfusion spreadsheet autofilter coldfusion-2016

我想向电子表格第一行的所有列添加动态自动过滤器。这是我到目前为止所拥有的示例:

SpreadSheetAddAutoFilter(theSheet,"A1:Z1");

这可行,但问题是我的文件中是否有更少或更多的列。有没有办法在文件第一行的每一列上设置过滤器?这不应该是硬编码的。如果您有此问题的任何示例,请告诉我。谢谢。

最佳答案

假设您已经有一个 Excel 工作表,并且正在尝试将过滤器动态添加到整行,您需要

  1. 获取列数
  2. 将列数转换为相应的字母。例如E列 -> 5
  3. 从中创建一个范围,例如 A1:E1 并将该字符串传递给 SpreadSheetAddAutoFilter() 函数。

这是我编写的一个工作示例:

<cffunction name="columnToLetter" returntype="any">
    <cfargument name="index" type="numeric">
    <cfset letterArray = listToArray('A B C D E F G H I J K L M N O P Q R S T U V W X Y Z', ' ')>
    <cfreturn letterArray[index]>
</cffunction>


<cfspreadsheet action="read" src="fin.xlsx" name="spreadSheetObj" sheetname="Sheet1"> 
<cfset count = SpreadsheetGetColumnCount(spreadSheetObj, 'Sheet1')>

<cfoutput>
    count: #count# <br>
    <cfset column_label = columnToLetter(count)>
    <cfset column_label = 'A1:' & column_label & '1'>
    label: #column_label#
    <cfset SpreadSheetAddAutoFilter(spreadSheetObj, column_label)>
    <cfspreadsheet action="write" filename="updatedFile.xls" name="spreadSheetObj" sheetname="courses" overwrite=true> 
</cfoutput>

关于coldfusion - 如何在 ColdFusion 2016 中动态设置电子表格自动过滤器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47933592/

相关文章:

regex - 如何使用数据验证,数字必须以7开头

vba - 百分比之间的 Excel VBA 自动筛选

apache-flex - 使用 web.config 跨多个站点共享文件(例如 swf)

sql - 如何在 ColdFusion 中覆盖 SQL 清理

excel - 在一个excel单元格中计数到最大值,然后在另一个单元格中继续计数

perl - 需要更多有关如何使用 Spreadsheet::ParseExcel 的示例

excel - 将 boolean 自动过滤条件应用于不同的语言

vba - 基于多个单元格值的 Excel 宏过滤器

java - ColdFusion 或 Java 中的 CSS 解析器?

java - jQuery,用引号发布的评论不起作用,否则效果很好