cfspreadsheet не может читать пустые строки - PullRequest
2 голосов
/ 09 ноября 2011
  1. Учитывая электронную таблицу с N логическими строками
  2. Где одна строка полностью пуста *
  3. cfspreadsheet action="read" вернет запрос с RecordCount из N - 1.

* Абсолютно пустая строка - это строка, в которой каждая ячейка фактически пуста. См. CELL_TYPE_BLANK в документации по POI.

Возможно ли для cfspreadsheet включить пустые строки?

Ответы [ 2 ]

2 голосов
/ 09 ноября 2011

Нет.Поскольку данные электронной таблицы не всегда являются смежными, <cfspreadsheet action="read" query="queryName" ...> и <cfspreadsheet action="read" format="csv|html" ..> намеренно экранируют пустые строки, чтобы избежать включения тонны пустого пространства.Таким образом, если строка не имеет хотя бы одну непустую ячейку, она не будет обнаружена.AFAIK, нет настройки для отмены этого поведения.Вам нужно будет нажать на рабочую книгу POI и свернуть свои собственные.

0 голосов
/ 09 ноября 2011

Я настроил xls вот так:

|Row1|Data1|
[blank]
|Row3|Data3|
[blank]
|Row5|Data5|

И запустил этот код:

<cfspreadsheet action="read" src="c:\temp\book1.xlsx" name="st1">
<table border="1">
<cfloop index="iRow" from="1" to="5">
    <tr>
        <cfloop index="iCol" from="1" to="2">
            <cfoutput><td>#spreadsheetGetCellValue(st1, iRow, iCol)#&nbsp;</td></cfoutput>
        </cfloop>
    </tr>
</cfloop>
</table>

И вывод был:

|Row1|Data1|
[blank]
|Row3|Data3|
[blank]
|Row5|Data5|

Что я и ожидал.

Так мне кажется, что пустые строки соблюдаются очень хорошо ...?

Чем я отличаюсь от вас?

...