Using openpyxl 2.1.2 on win7/64bit, python 2.7.8
I am working with a large XLSX workbook with a sheet on which the first row (column names) is modified to be a "Filter" for every column. Forgive if I'm stating the obvious, but this means there's a drop-down button to the right of the header-cell text and when you click it, Excel offers a dialog showing the values in the column with checkboxes so you can filter values in or out. Enable this feature on a column by selecting the column, and on the Data tab, click on the Filter button.
If I load the file using the read-write version of the API (use_iterators = False), iterate over the rows using the workbook object's rows attribute, and iterate over cells in the first row, each header-cell text value is made available to me in the "value" attribute of the cell object. That works fine.
If I load the file using the read-only version of the API (use_iterators = True) to get an IterableWorksheet, iterate over the rows using the iter_rows() method, and then iterate over the cells, for the header row the value attribute is always None.
The spreadsheet is so large that I really need the speedy, small-footprint reader feature -- reading it takes simply enormous amount of memory using the read/write API.
I attached a trivial file just to show the filter feature on the first column. I'm really sorry to be that difficult user, but this sheet does NOT reproduce the problem :( Of course the sheet with the problem is large, proprietary and generally too secret even to discuss :) However! if I turn off the "Filter" feature on the first column of that large sheet (leaving the other heads as Filters), the column names ALL become available in the cell.value attribute. Go figure!
Please investigate. Thanks for listening.