xlwings VS node-bignum

Compare xlwings vs node-bignum and see what are their differences.

xlwings

xlwings is a Python library that makes it easy to call Python from Excel and vice versa. It works with Excel on Windows and macOS as well as with Google Sheets and Excel on the web. (by xlwings)

node-bignum

Big integers for Node.js using OpenSSL (by justmoon)
Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
xlwings node-bignum
25 1
2,836 422
1.3% -
8.4 10.0
6 days ago about 3 years ago
Python JavaScript
GNU General Public License v3.0 or later -
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

xlwings

Posts with mentions or reviews of xlwings. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-08-22.

node-bignum

Posts with mentions or reviews of node-bignum. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-08-22.
  • Microsoft is bringing Python to Excel
    6 projects | news.ycombinator.com | 22 Aug 2023
    > Many languages that are considered "precision" languages have some form of suffix to denote large/long/arbitrary-sized literals. (C# there's a big useful difference if a literal ends with `m` or `l`.)

    The failure mode is significantly different when comparing JS to other mainstream languages. Most languages have a "checked" mode (either opt-in or mandatory) so that expressions like `4611686018427387904 + 4611686018427387904` can raise an error, whereas JS will just give you the wrong answer. Python is the most ergonomic for beginners or non-developers because the runtime will convert an integral type to an arbitrary precision integer on overflow.

    Yes, there are alternative primitives that can be used, but you need to know they exist. We're talking about a tool that is explicitly designed for people who are not professional programmers, and JS's behavior here is surprising unless you understand the underlying data model. I would personally much rather give beginners a tool incorporating as few footguns as possible.

    > JS is a language with the tools today to do precision arithmetic (whether you like it or not)

    Arbitrary precision arithmetic has been possible in JS since the language was invented, but it has always been a pain. The bignum NPM package[0] predates the BigInt numeric primitive by 9 years. The addition of `BigInt` to ES2020 was important for performance (since implementing an arithmetic primitive in JS makes calculations dog slow), but it didn't add any fundamental affordances to the language.

    [0]: https://github.com/justmoon/node-bignum

What are some alternatives?

When comparing xlwings and node-bignum you can also consider the following projects:

openpyxl

ironclad - CPython API compatibility layer for IronPython

XlsxWriter - A Python module for creating Excel XLSX files.

MicroPyScript - MicroPyScript: A test harness for multiple runtimes in PyScript

pyexcel - Single API for reading, manipulating and writing data in csv, ods, xls, xlsx and xlsm files

CopyQ - Clipboard manager with advanced features

xlwt

grist-core - Grist is the evolution of spreadsheets.

python-docx - Create and modify Word documents with Python

python-pptx - Create Open XML PowerPoint documents in Python

unoconv - Universal Office Converter - Convert between any document format supported by LibreOffice/OpenOffice.

docxtpl - Use a docx as a jinja2 template