diff --git a/xlwings/__init__.py b/xlwings/__init__.py index b7525a9ec..e6cad0a49 100644 --- a/xlwings/__init__.py +++ b/xlwings/__init__.py @@ -15,7 +15,7 @@ string_types = basestring xrange = xrange from future_builtins import map - import __builtins__ as builtins + builtins = __builtins__ # Platform specifics if sys.platform.startswith('win'): diff --git a/xlwings/_xlwindows.py b/xlwings/_xlwindows.py index d52f980d2..f8720d814 100644 --- a/xlwings/_xlwindows.py +++ b/xlwings/_xlwindows.py @@ -406,6 +406,8 @@ def prepare_xl_data_element(x): return _datetime_to_com_time(x) elif np and isinstance(x, np.generic): return float(x) + elif x is None: + return "" else: return x diff --git a/xlwings/tests/udfs/udf_tests.py b/xlwings/tests/udfs/udf_tests.py index 70c52fef2..2a1866d4d 100644 --- a/xlwings/tests/udfs/udf_tests.py +++ b/xlwings/tests/udfs/udf_tests.py @@ -497,5 +497,11 @@ def optional_args(x, y=None): y = 10 return x * y + +@xw.func +def write_none(): + return None + + if __name__ == "__main__": xw.serve() diff --git a/xlwings/tests/udfs/udf_tests.xlsm b/xlwings/tests/udfs/udf_tests.xlsm index a5c312351..1041957d9 100644 Binary files a/xlwings/tests/udfs/udf_tests.xlsm and b/xlwings/tests/udfs/udf_tests.xlsm differ