Features

Why developers choose osbxl

Overwhelming Calculation Speed

The osbxl core engine is implemented in C++ and processes even complex formula calculations in milliseconds.

🌐

Modern Web Technology (Wasm) Support

With WebAssembly (Wasm) support, osbxl handles Excel files not only on the server side but also on the client side (in the browser), reducing server load and enabling real-time calculation.

Server-side
Batch processing and API integration with Java / Python / Node.js
Client-side
Load, calculate and save Excel entirely in the browser
🌐

Multi-Platform

One calculation logic runs as-is across four environments: Java / Python / Node.js / WebAssembly. From server-side batch processing to real-time calculation in the browser, the same API covers it all.

Java
JDK 1.8+
🐍
Python
Python 3.8+
🟢
Node.js
Node 18+ (N-API)
🌍
Wasm
All major browsers

Broad Version Support

Wide support from older to latest versions of each language. osbxl fits your existing system environment.

☕ Java
JDK 1.8 through the latest version
Including long-term support (LTS) versions
🐍 Python
Python 3.8 through the latest version
3.8, 3.9, 3.10, 3.11, 3.12, 3.13, 3.14
🟢 Node.js
Node 18 through the latest version
ABI compatibility via N-API (Node-API)
📊

400+ Excel-Compatible Functions

Financial functions (PV, FV, NPV, IRR, etc.), statistical functions (AVERAGE, STDEV, etc.), string functions, date functions — covering most of the functions currently supported by Excel. Formulas from your existing spreadsheets work as-is.

📈

Charts & Graphs

Create and edit Excel-compatible charts: bar, line, pie, scatter and more. Charts update automatically as the data changes.

Bar
Line
Pie
Scatter
Area
Radar
Bubble
Stock
🎨

Conditional Formatting

Automatic coloring and formatting based on cell values. Data bars, color scales and icon sets highlight your data visually.

Supported conditions:
  • • Cell value greater than / less than X
  • • Highlight top / bottom N items
  • • Highlight duplicate values
  • • Formula-based conditions
🔍

AutoFilter & Sorting

Set filters on data ranges to extract or hide rows by condition. Supports combining multiple conditions and text / number / date filters.

Filter
Conditional extraction by text, number and date
Sort
Ascending / descending, multi-key sorting
🗂️

Tables & PivotTables

Structure data ranges with Excel-compatible tables. Aggregation and analysis with PivotTables are fully controllable from your program.

Tables
  • • Auto-expansion and consistent formatting
  • • Total row display
  • • Filter / sort
PivotTables
  • • Row / column / value field configuration
  • • Aggregate functions (SUM/COUNT/AVG)
  • • Grouping and filtering
🔧

Simple API

Nearly identical, concise API design across Java / Python / Node.js. The same method names and parameters work in every language, keeping the learning curve low so you can start developing right away.

Java
sheet.getRange("A1")
.setNumberValue(100)
Python
sheet.getRange("A1")
.setNumberValue(100)
Node.js
sheet.getRange("A1")
.setNumberValue(100)
const osbxl = require("osbxl");

const app = new osbxl.App();
const book = app.createWorkBook("/tmp/demo.xlsx");
const sheet = book.addWorkSheet("Sheet1");

sheet.getRange("A1").setNumberValue(100);
sheet.getRange("A2").setNumberValue(200);
sheet.getRange("A3").setFormula("SUM(A1:A2)");

const values = sheet.getRange("A3").getValue();
console.log(values["A3"]); // "300"

book.save();
book.close();