From cbdaa09e8324767926e49e814170a325758c072b Mon Sep 17 00:00:00 2001 From: Kenneth Reitz Date: Fri, 13 May 2011 00:30:03 -0400 Subject: [PATCH] success!! --- tablib/compat.py | 2 ++ tablib/formats/_xlsx.py | 20 ++++++++++++-------- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/tablib/compat.py b/tablib/compat.py index 82946f7..48e0081 100644 --- a/tablib/compat.py +++ b/tablib/compat.py @@ -24,6 +24,7 @@ if is_py3: from io import BytesIO import tablib.packages.xlwt3 as xlwt from tablib.packages import markup3 as markup + from tablib.packages import openpyxl3 as openpyxl # py3 mappings ifilter = filter @@ -37,6 +38,7 @@ else: import tablib.packages.xlwt as xlwt from tablib.packages import markup from itertools import ifilter + from tablib.packages import openpyxl # py2 mappings xrange = xrange diff --git a/tablib/formats/_xlsx.py b/tablib/formats/_xlsx.py index 1a0713b..9cd63b5 100644 --- a/tablib/formats/_xlsx.py +++ b/tablib/formats/_xlsx.py @@ -7,14 +7,18 @@ import sys if sys.version_info[0] > 2: - from io import BytesIO + from io import BytesIO else: from cStringIO import StringIO as BytesIO -from tablib.packages.openpyxl.workbook import Workbook -from tablib.packages.openpyxl.writer.excel import ExcelWriter +from tablib.compat import openpyxl + +Workbook = openpyxl.workbook.Workbook +ExcelWriter = openpyxl.writer.excel.ExcelWriter +get_column_letter = openpyxl.cell.get_column_letter + +from tablib.compat import unicode -from tablib.packages.openpyxl.cell import get_column_letter title = 'xlsx' extentions = ('xlsx',) @@ -65,8 +69,9 @@ def dset_sheet(dataset, ws): # bold headers if (row_number == 1) and dataset.headers: - ws.cell('%s%s'%(col_idx, row_number)).value = unicode( - '%s' % col, errors='ignore') + # ws.cell('%s%s'%(col_idx, row_number)).value = unicode( + # '%s' % col, errors='ignore') + ws.cell('%s%s'%(col_idx, row_number)).value = unicode(col) style = ws.get_style('%s%s' % (col_idx, row_number)) style.font.bold = True ws.freeze_panes = '%s%s' % (col_idx, row_number) @@ -91,7 +96,6 @@ def dset_sheet(dataset, ws): ws.cell('%s%s'%(col_idx, row_number)).value = unicode( '%s' % col, errors='ignore') except TypeError: - ws.cell('%s%s'%(col_idx, row_number)).value = unicode( - '%s' % col, errors='ignore') + ws.cell('%s%s'%(col_idx, row_number)).value = unicode(col)