2013-09-05 2 views
2

В настоящее время мы используем cfspreadsheet для обработки таблиц Excel, импортируемых в наше приложение.coldfusion 10 cfspreadsheet get meta data from columns

В настоящее время у нас нет простого способа проверки типов данных, импортируемых из данных, поскольку мы пытаемся работать с объектом QoQ после того, как у нас есть электронная таблица в памяти.

Есть ли какой-либо простой способ перебрать объект запроса для определения типов данных для каждого столбца в наборе данных запроса?

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

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

Ive пытался ищет мета функций данных для запросов, но не могу показаться, чтобы найти какой-либо

не
+0

Возможно, вам придется делать это по ячейке, а не по столбцу. Есть некоторые функции, такие как IsNumeric(), которые доступны, но я не думаю, что есть какие-либо простые методы. –

ответ

2

Нет. Там еще нет встроенных методов, которые возвращают типы данных (или, точнее, «типы клеток») из значения, считанные из электронной таблицы. Вы должны использовать базовую библиотеку POI для доступа к этой информации.

Кроме того, как упоминает Дэн, нет точной корреляции между типами ячеек и запросами «типы данных». В отличие от таблиц базы данных, таблица может содержать несколько типов ячеек в одном столбце. Просто потому, что первая ячейка в столбце содержит дату, не гарантирует, что все ячейки в этом столбце также работают. Это одна из причин, по которым всем результирующим столбцам запроса присваивается тип varchar. Технически нет данных типа «столбцов», когда дело доходит до электронных таблиц.

Это указано, что here is an example как извлечь типы отдельных сотовых телефонов с использованием POI. Он, в первую очередь, предназначен для изучения ячейки формата, но основные понятия одинаковы.

Можете ли вы подробно остановиться на конечной цели? т.е. как вы собираетесь использовать эту информацию и как она относится к вашему QoQ?

Смежные вопросы