All Projects → tamc → Excel_to_code

tamc / Excel_to_code

Licence: mit
Roughly translate some Excel spreadsheets to Ruby or C.

Programming Languages

c
50402 projects - #5 most used programming language
ruby
36898 projects - #4 most used programming language

Projects that are alternatives of or similar to Excel to code

Calx.js
jQuery Calx - a jQuery plugin for creating formula-based calculation form
Stars: ✭ 190 (-11.21%)
Mutual labels:  excel, spreadsheet
Functional Data Grid
Data grids in functional style with ReactJS
Stars: ✭ 125 (-41.59%)
Mutual labels:  excel, spreadsheet
Jupyterlab Spreadsheet
JupyterLab plugin for viewing spreadsheets, such as Excel .xls/.xlsx workbooks and OpenOffice .ods files
Stars: ✭ 95 (-55.61%)
Mutual labels:  excel, spreadsheet
Documentserver
ONLYOFFICE Document Server is an online office suite comprising viewers and editors for texts, spreadsheets and presentations, fully compatible with Office Open XML formats: .docx, .xlsx, .pptx and enabling collaborative editing in real time.
Stars: ✭ 2,335 (+991.12%)
Mutual labels:  excel, spreadsheet
Unpivotr
Unpivot complex and irregular data layouts in R
Stars: ✭ 148 (-30.84%)
Mutual labels:  excel, spreadsheet
Poi Android
📈 Apache POI for Android
Stars: ✭ 77 (-64.02%)
Mutual labels:  excel, spreadsheet
Hot Table
Handsontable - Best Data Grid Web Component with Spreadsheet Look and Feel.
Stars: ✭ 114 (-46.73%)
Mutual labels:  excel, spreadsheet
Django Rest Pandas
📊📈 Serves up Pandas dataframes via the Django REST Framework for use in client-side (i.e. d3.js) visualizations and offline analysis (e.g. Excel)
Stars: ✭ 1,030 (+381.31%)
Mutual labels:  excel, spreadsheet
Tui.grid
🍞🔡 The Powerful Component to Display and Edit Data. Experience the Ultimate Data Transformer!
Stars: ✭ 1,859 (+768.69%)
Mutual labels:  excel, spreadsheet
X Spreadsheet
A web-based JavaScript(canvas) spreadsheet
Stars: ✭ 12,046 (+5528.97%)
Mutual labels:  excel, spreadsheet
Excelize
Golang library for reading and writing Microsoft Excel™ (XLSX) files.
Stars: ✭ 10,286 (+4706.54%)
Mutual labels:  excel, spreadsheet
Yii2 Export
A library to export server/db data in various formats (e.g. excel, html, pdf, csv etc.)
Stars: ✭ 153 (-28.5%)
Mutual labels:  excel, spreadsheet
Documentbuilder
ONLYOFFICE Document Builder is powerful text, spreadsheet, presentation and PDF generating tool
Stars: ✭ 61 (-71.5%)
Mutual labels:  excel, spreadsheet
Dev Ref
Stars: ✭ 90 (-57.94%)
Mutual labels:  excel, spreadsheet
Spreadsheet
The Ruby Spreadsheet by ywesee GmbH
Stars: ✭ 1,033 (+382.71%)
Mutual labels:  excel, spreadsheet
Phpspreadsheet
A pure PHP library for reading and writing spreadsheet files
Stars: ✭ 10,627 (+4865.89%)
Mutual labels:  excel, spreadsheet
Spreadsheet
Spreadsheet for Vaadin Framework
Stars: ✭ 40 (-81.31%)
Mutual labels:  excel, spreadsheet
Desktopeditors
An office suite that combines text, spreadsheet and presentation editors allowing to create, view and edit local documents
Stars: ✭ 1,008 (+371.03%)
Mutual labels:  excel, spreadsheet
Xlsx
Fast and reliable way to work with Microsoft Excel™ [xlsx] files in Golang
Stars: ✭ 132 (-38.32%)
Mutual labels:  excel, spreadsheet
Test files
📚 SheetJS Test Files (XLS/XLSX/XLSB and other spreadsheet formats)
Stars: ✭ 150 (-29.91%)
Mutual labels:  excel, spreadsheet

Excel to Code

Tests Passing

excel_to_c - roughly translate some Excel files into C.

excel_to_ruby - roughly translate some Excel files into Ruby.

This allows spreadsheets to be:

  1. Embedded in other programs, such as web servers, or optimisers
  2. Without depending on any Microsoft code

For example, running these commands turns this spreadsheet into this Ruby code or this C code.

Install

Requires Ruby. Install by:

gem install excel_to_code

Run

To just have a go:

excel_to_c <excel_file_name>

This will produce a file called excelspreadsheet.c

For a more complex spreadsheet:

excel_to_c --compile --run-tests --settable <name of input worksheet> --prune-except <name of output worksheet> <excel file name> 

See the full list of options:

excel_to_c --help

Gotchas, limitations and bugs

  1. No custom functions, no macros for generating results
  2. Results are cached. So you must call reset(), then set values, then read values.
  3. It must be possible to replace INDIRECT and OFFSET formula with standard references at compile time (e.g., INDIRECT("A"&"1") is fine, INDIRECT(userInput&"3") is not.
  4. Doesn't implement all functions. See which functions are implemented.
  5. Doesn't implement references that involve range unions and lists (but does implement standard ranges)
  6. Sometimes gives cells as being empty, when excel would give the cell as having a numeric value of zero
  7. The generated C version does not multithread and will give bad results if you try.
  8. The generated code uses floating point, rather than fully precise arithmetic, so results can differ slightly.
  9. The generated code uses the sprintf approach to rounding (even-odd) rather than excel's 0.5 rounds away from zero.
  10. Ranges like this: Sheet1!A10:Sheet1!B20 and 3D ranges don't work.

Report bugs: https://github.com/tamc/excel_to_code/issues

Changelog

See Changes.

License

See License

Hacking

Source code: https://github.com/tamc/excel_to_code

Documentation:

Some notes on how Excel works under the hood:

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].