AI-powered Excel file analyzer with native XLSX export, local AI processing, and macOS Widget
View, analyze, and export Excel files with AI-powered insights—all running locally on your Mac with Apple MLX (Machine Learning eXtensions).
ExcelExplorer is a native macOS application for viewing, analyzing, and exporting Excel files (.xlsx, .xls, .csv (Comma-Separated Values)) with built-in AI capabilities. It provides a fast, native interface for working with spreadsheets and includes AI-powered features for data analysis, all running locally on Apple Silicon.
Key Benefits:
- Native XLSX Export: Full Excel format writing with proper OOXML structure
- AI Analysis: Summarize data, detect patterns, generate insights
- MLX Backend: Apple Silicon AI processing, 100% local
- macOS Widget (v1.2.0): Quick access to recent files and stats from Notification Center
- Fast Performance: Native Swift implementation, no Electron overhead
- Privacy First: All processing on your Mac
Perfect For:
- Data Analysts: Quick Excel file viewing and analysis
- Privacy-Conscious: Keep sensitive data local
- Apple Silicon Users: Optimized for M1/M2/M3/M4
- Developers: Programmatic Excel export from Swift
WidgetKit integration for quick access:
- Small Widget: Shows current file name and stats or quick open action
- Medium Widget: Recent files list + current file stats side-by-side
- Large Widget: Detailed view with file stats, AI status, and recent files list
Widget Features:
- Recent files list (up to 10 files)
- Current file statistics (rows, columns, sheets)
- AI analysis status indicator
- Quick open actions via deep links
- Automatic refresh when files are opened
App Group Data Sharing:
- Uses
group.com.jkoch.excelexplorerfor data sharing - Syncs file data automatically when workbooks are opened
- Tracks AI analysis progress in real-time
Deep Link Actions:
excelexplorer://- Open appexcelexplorer://open?path=<path>- Open specific fileexcelexplorer://recent- Show recent filesexcelexplorer://analyze- Start AI analysis
Full Excel format writing:
- Complete OOXML (Office Open XML) Spec: Proper XML structure ([Content_Types].xml, workbook.xml, worksheets, styles)
- Shared Strings: Efficient string deduplication
- Multiple Data Types: Text, numbers, booleans, dates, formulas
- ZIP Compression: Standard XLSX package format
- Excel Compatible: Opens in Excel, Numbers, LibreOffice
- Large Dataset Support: Up to 1,048,576 rows x 16,384 columns
Usage:
try await ExcelWriter.writeXLSX(workbook: workbook, to: outputURL)Apple Silicon native AI:
- Local Processing: No cloud, no internet required
- Model Support: mlx-community models (Llama, Mistral, Phi)
- Process Management: Proper subprocess handling
- Error Handling: Installation detection and fallback
- Performance: Neural Engine acceleration
- Excel File Viewing: .xlsx, .xls, .csv support
- Multi-Sheet Support: Navigate between sheets
- Cell Editing: Modify cell values and formulas
- XLSX Export: Write native Excel format
- CSV Export: Standard CSV with customizable delimiters
- Search & Filter: Find data quickly
- Formula Evaluation: Calculate formula results
- Data Summarization: AI-generated dataset summaries
- Pattern Detection: Identify trends and anomalies
- Column Analysis: Automatic data type detection
- Insights Generation: AI-powered data insights
- Query Interface: Natural language data queries
- MLX Backend: Local AI processing
- Recent Files: Quick access to recently opened spreadsheets
- File Stats: View row/column counts at a glance
- AI Status: Monitor analysis progress
- Quick Actions: Open files directly from widget
- Sort: Sort by any column
- Filter: Filter rows by criteria
- Search: Find text across all sheets
- Statistics: Basic stats (sum, avg, min, max)
- Duplicate Detection: Find duplicate rows
- Data Validation: Type checking and validation
- 100% Local Processing: Files never leave your Mac
- No Cloud Upload: All operations offline
- MLX Backend: AI runs on-device via Apple Neural Engine
- No Telemetry: Zero analytics or tracking
- Keychain Storage: API keys stored securely in macOS Keychain (not UserDefaults)
- App Group Isolation: Widget data isolated to app group container
- Read-Only by Default: Protects original files
- Backup Before Save: .backup files created
- Input Validation: Prevents malformed file attacks
- Memory Safety: Bounds checking on all array access
- macOS 14.0 (Sonoma) or later (for Widget support)
- Architecture: Universal (Apple Silicon recommended for MLX)
- Apple Silicon: M1/M2/M3/M4
- Python 3.9+
- mlx-lm:
pip install mlx-lm - 8GB+ RAM
- Any Mac
- Ollama:
brew install ollama - 8GB+ RAM
Built-in:
- SwiftUI, AppKit, Foundation, WidgetKit
Optional:
- mlx-lm (for MLX AI)
- Ollama (for Ollama AI)
open "/Volumes/Data/xcode/binaries/[latest]/ExcelExplorer-v1.2.0.dmg"git clone https://github.com/kochj23/ExcelExplorer.git
cd ExcelExplorer
open "ExcelExplorer.xcodeproj"
# Press Cmd+R to build and run- Build and run the app at least once
- Right-click on Desktop or open Notification Center
- Click "Edit Widgets"
- Search for "ExcelExplorer"
- Choose Small, Medium, or Large widget size
- Drag to your preferred location
# Launch app
open ~/Applications/ExcelExplorer.app
# Or open file directly
open -a ExcelExplorer ~/Documents/data.xlsx- Open file in ExcelExplorer
- Make any edits
- File -> Export -> XLSX
- Choose location
- File saved in Excel format
- Select data range
- Click "AI Analyze"
- Choose analysis type (summarize, patterns, insights)
- View AI-generated analysis
- Add the widget to Notification Center
- Recent files appear automatically as you open files
- Click any file to open it directly
- View current file stats at a glance
- Monitor AI analysis progress
ExcelExplorer Widget/
ExcelExplorerWidget.swift - Main widget with Small/Medium/Large views
WidgetData.swift - Data models (RecentFile, CurrentFileStats, etc.)
SharedDataManager.swift - App Group data sharing manager
Info.plist - Widget extension configuration
ExcelExplorer_Widget.entitlements - App Group entitlements
- Main app opens a file
- ExcelDataManager updates shared UserDefaults via App Group
- Widget timeline provider reads shared data
- Widget displays current file stats and recent files
- Timeline refreshes every 15 minutes or on-demand
- Identifier:
group.com.jkoch.excelexplorer - Shared Data: Recent files, current file stats, AI status
- Storage: UserDefaults suite
Can't Open File:
- Verify file is valid Excel format
- Check file permissions
- Try opening in Excel/Numbers first
XLSX Export Fails:
- Check disk space available
- Verify write permissions
- Try smaller dataset first
MLX Not Working:
- Install:
pip install mlx-lm - Verify:
which mlx_lm.generate - Check Apple Silicon Mac
Widget Not Showing:
- Build and run the app at least once
- Check Widget Gallery for "ExcelExplorer"
- Verify App Group entitlements are correct
- Check Console.app for widget errors
Widget Not Updating:
- Open a file in the main app to trigger update
- Widget refreshes automatically every 15 minutes
- Force refresh by removing and re-adding widget
- macOS WidgetKit widget extension
- Small, Medium, Large widget sizes
- Recent files list in widget
- Current file stats display
- AI analysis status indicator
- Deep link support for quick actions
- App Group data sharing
- XLSX export implementation
- MLX backend integration
- Performance improvements
- Initial release
- Excel viewing
- CSV export
- Basic AI features
MIT License - Copyright 2026 Jordan Koch
Last Updated: February 4, 2026 Status: Production Ready