diff options
| author | Cristiano Lopes <e.mail@cristianolopes.eu> | 2017-09-11 12:47:51 +0100 |
|---|---|---|
| committer | Cristiano Lopes <e.mail@cristianolopes.eu> | 2017-09-11 12:47:51 +0100 |
| commit | 77469ef6556f356e93ed37e5e10b8ccccc2fbb46 (patch) | |
| tree | 1dc5e81e8bda6fffa4883f08d9b64d3fc95f237c | |
| parent | e21676d3bd3b690ec9a987bd212d8af625606934 (diff) | |
| download | tablib-77469ef6556f356e93ed37e5e10b8ccccc2fbb46.tar.gz | |
Delegate type coercion to openpyxl
| -rw-r--r-- | tablib/formats/_xlsx.py | 20 |
1 files changed, 8 insertions, 12 deletions
diff --git a/tablib/formats/_xlsx.py b/tablib/formats/_xlsx.py index 411e0fc..0fb42db 100644 --- a/tablib/formats/_xlsx.py +++ b/tablib/formats/_xlsx.py @@ -120,33 +120,29 @@ def dset_sheet(dataset, ws, freeze_panes=True): 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(col) style = ws.get_style('%s%s' % (col_idx, row_number)) style.font.bold = True if freeze_panes: # As already done in #53, but after Merge lost: # Export Freeze only after first Line ws.freeze_panes = 'A2' - + # bold separators elif len(row) < dataset.width: - ws.cell('%s%s'%(col_idx, row_number)).value = unicode( - '%s' % col, errors='ignore') style = ws.get_style('%s%s' % (col_idx, row_number)) style.font.bold = True # wrap the rest else: try: - if '\n' in col: - ws.cell('%s%s'%(col_idx, row_number)).value = unicode( - '%s' % col, errors='ignore') + str_col_value = unicode(col) + except TypeError: + str_col_value = '' + + if '\n' in str_col_value: style = ws.get_style('%s%s' % (col_idx, row_number)) style.alignment.wrap_text - else: - 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(col) + + ws.cell('%s%s' % (col_idx, row_number)).value = col |
