Generate Excel Files with a Specified Number of Rows (WASM + Web Worker Best Practice!)
DEV Community

Generate Excel Files with a Specified Number of Rows (WASM + Web Worker Best Practice!)

If you've ever needed to create a large Excel file for testing, benchmarking, demos, or importing data, you probably know how slow browser-based generators can become. I built a free online tool that lets you generate Excel files with any number of rows directly in your browser: ๐Ÿ‘‰ Generate Excel Files with a Specified Number of Rows. No installation. No signup. Everything runs locally.

Why Build Another Excel Generator?

Many online generators have limitations:

  • Slow when generating large files
  • UI freezes during generation
  • Limited customization
  • Data uploaded to servers

I wanted something that could generate very large Excel files while keeping the browser responsive.

Features

The tool supports:

  • Generate Excel files with a specified number of rows
  • Custom data generation rules
  • Configure columns freely
  • Generate files containing millions of rows
  • Fast download after generation
  • Completely free
  • Runs entirely in your browser

Whether you're testing import performance, stress testing an application, or creating sample datasets, it can save a lot of time.

Behind the Scenes: WebAssembly + Web Worker

The interesting part isn't the UI-it's the architecture.

WebAssembly for High-Performance Excel Generation

Instead of using a pure JavaScript implementation, the Excel generation engine is built with Go + Excelize and compiled to WebAssembly (WASM). This provides several advantages:

  • Near-native execution speed
  • Better performance for large workbooks
  • Lower memory overhead than many JS libraries
  • Reuse of a mature Excel library

Generating hundreds of thousands or even millions of rows becomes much more practical.

Web Worker Keeps the UI Responsive

Heavy Excel generation shouldn't block the main thread. The WASM module runs inside a Web Worker, so users can continue interacting with the page while the workbook is being generated. Benefits include:

  • No frozen UI
  • Better user experience
  • Progress reporting
  • Suitable for long-running tasks

This combination of WebAssembly + Web Worker is one of the best patterns for CPU-intensive browser applications.

Why Not Generate Excel on the Server?

Generating files directly in the browser has several benefits:

  • No file uploads
  • Better privacy
  • No server-side computing cost
  • Works even for very large datasets
  • Scales naturally because computation happens on the client

Modern browsers are powerful enough to handle workloads that previously required backend services.

Use Cases

This tool is useful for:

  • Excel/xlsx file import testing
  • Performance benchmarking
  • Database migration testing
  • QA testing
  • Sample dataset generation
  • Demo data creation

Try It

If you're looking for a free online Excel generator that can create large workbooks quickly, give it a try: ๐Ÿ‘‰ free online Excel generator that can create large workbooks quickly. I'm also interested in hearing how others are using WebAssembly for high-performance web applications.

Comments

No comments yet. Start the discussion.