summaryrefslogtreecommitdiff
path: root/tablib
diff options
context:
space:
mode:
Diffstat (limited to 'tablib')
-rw-r--r--tablib/formats/_xls.py20
1 files changed, 20 insertions, 0 deletions
diff --git a/tablib/formats/_xls.py b/tablib/formats/_xls.py
index 6530d91..ebec9e1 100644
--- a/tablib/formats/_xls.py
+++ b/tablib/formats/_xls.py
@@ -66,6 +66,26 @@ def export_book(databook):
return stream.getvalue()
+def import_book(dbook, in_stream, headers=True):
+ """Returns databook from XLS stream."""
+
+ dbook.wipe()
+
+ xls_book = xlrd.open_workbook(file_contents=in_stream)
+
+ for sheet in xls_book.sheets():
+ data = tablib.Dataset()
+ data.title = sheet.name
+
+ for i in xrange(sheet.nrows):
+ if (i == 0) and (headers):
+ data.headers = sheet.row_values(0)
+ else:
+ data.append(sheet.row_values(i))
+
+ dbook.add_sheet(data)
+
+
def dset_sheet(dataset, ws):
"""Completes given worksheet from given Dataset."""
_package = dataset._package(dicts=False)