2

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

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

是否有任何简单的方法可以遍历查询对象以检测查询数据集中每一列的数据类型?

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

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

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

4

1 回答 1

2

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

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

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

你能详细说明最终目标吗?即您打算如何使用这些信息以及它与您的 QoQ 有什么关系?

于 2013-09-05T13:19:40.487 回答