From 5fde5259d9adcfc47db93110d2dac6b08f31e24f Mon Sep 17 00:00:00 2001 From: Claude Paroz Date: Thu, 3 Oct 2019 23:44:24 +0200 Subject: Fixes #314 - Delegate type coercion to openpyxl Thanks Cristiano Lopes for the initial patch. --- tablib/formats/_xlsx.py | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) (limited to 'tablib') diff --git a/tablib/formats/_xlsx.py b/tablib/formats/_xlsx.py index a2d46ce..6662a2f 100644 --- a/tablib/formats/_xlsx.py +++ b/tablib/formats/_xlsx.py @@ -117,8 +117,6 @@ def dset_sheet(dataset, ws, freeze_panes=True): # bold headers if (row_number == 1) and dataset.headers: - # cell.value = unicode('%s' % col, errors='ignore') - cell.value = unicode(col) cell.font = bold if freeze_panes: # Export Freeze only after first Line @@ -126,16 +124,18 @@ def dset_sheet(dataset, ws, freeze_panes=True): # bold separators elif len(row) < dataset.width: - cell.value = unicode('%s' % col, errors='ignore') cell.font = bold # wrap the rest else: try: - if '\n' in col: - cell.value = unicode('%s' % col, errors='ignore') - cell.alignment = wrap_text - else: - cell.value = unicode('%s' % col, errors='ignore') + str_col_value = unicode(col) except TypeError: - cell.value = unicode(col) + str_col_value = '' + if '\n' in str_col_value: + cell.alignment = wrap_text + + try: + cell.value = col + except (ValueError, TypeError): + cell.value = unicode(col) -- cgit v1.2.1