def exportTreeItem(self, sheet, cols, item):
        """
        Exports the inputed item to the given Excel worksheet for the
        given visible columns.
        
        :param      sheet | <xlwt.WorkSheet>
                    cols  | [<int>, ..]
                    item  | <QTreeWidgetItem>
        """
        # export item information
        for c, col in enumerate(cols):
            data = unwrapVariant(item.data(Qt.EditRole, col))
            if data:
                sheet.write(self._currrow, c, nativestring(data))
            else:
                sheet.write(self._currrow, c, nativestring(item.text(col)))
        
        self._currrow += 1
        
        # export children as rows
        for c in range(item.childCount()):
            self.exportTreeItem(sheet, cols, item.child(c))
Exports the inputed item to the given Excel worksheet for the
        given visible columns.
        
        :param      sheet | <xlwt.WorkSheet>
                    cols  | [<int>, ..]
                    item  | <QTreeWidgetItem>