coldfusion 10从列中获取元数据

coldfusion 10从列中获取元数据,coldfusion,cfspreadsheet,Coldfusion,Cfspreadsheet,我们目前正在使用cfspreadsheet处理导入到我们应用程序中的excel电子表格 目前,我们没有一种简单的方法来验证从数据中导入的数据类型,因为在内存中有电子表格之后,我们正在尝试使用QoQ对象 是否有任何简单的方法可以循环查询对象,以检测查询数据集中每个列的数据类型 <cfspreadsheet action="read" src="#form.uploadedFile#" query="mycontent" headerrow="1" excludeheaderrow="yes"

我们目前正在使用cfspreadsheet处理导入到我们应用程序中的excel电子表格

目前,我们没有一种简单的方法来验证从数据中导入的数据类型,因为在内存中有电子表格之后,我们正在尝试使用QoQ对象

是否有任何简单的方法可以循环查询对象,以检测查询数据集中每个列的数据类型

<cfspreadsheet action="read" src="#form.uploadedFile#" query="mycontent" headerrow="1" excludeheaderrow="yes">  

<cfquery name="mycontent" dbtype="query">
SELECT *
FROM mycontent
</cfquery>

挑选*
来自mycontent

我试着寻找用于查询的元数据函数,但似乎找不到任何

否。没有内置的方法可以返回从电子表格读取的值的数据类型(或者更准确地说是“单元格类型”)。您必须使用基础POI库来访问该信息

此外,正如Dan在上面提到的,“单元格类型”和查询“数据类型”之间没有精确的相关性。与数据库表不同,电子表格可能在同一列中包含多种类型的单元格。仅仅因为列中的第一个单元格包含日期,并不能保证该列中的所有单元格都包含日期。这就是为什么所有生成的查询列都被分配类型
varchar
。从技术上讲,电子表格中没有“列”数据类型

也就是说,如何使用POI提取单个细胞的类型。它主要用于检查单元格格式,但基本概念是相同的


你能详细说明最终目标吗?例如,您打算如何使用这些信息,以及这些信息与您的生活质量有何关系?

您可能需要一个单元格一个单元格地使用这些信息,而不是一列一列地使用这些信息。有一些函数可以使用,比如IsNumeric(),但我认为没有任何简单的方法可用。