ImportExcel is a popular PowerShell module that enables reading, writing, and manipulating Excel spreadsheets without requiring Microsoft Excel to be installed on the host. It exposes straightforward cmdlets like Import-Excel and Export-Excel that convert between Excel sheets and PowerShell objects, making it simple to pipeline tabular data into reporting and automation flows. Advanced features include adding and formatting tables, setting number/date formats, creating charts, and applying styling or conditional formatting programmatically. The module is optimized for performance (streaming where possible) and supports large datasets, making it useful for ETL tasks, automated reporting, and data analysis in pure PowerShell environments. It integrates well with scheduled jobs and CI pipelines where generating or consuming spreadsheets is part of an automated workflow.
Features
- Read Excel files into PowerShell objects (arrays etc.) for further manipulation
- Export data to Excel files (.xlsx), creating tables automatically from PowerShell data sources (CSV, JSON, databases etc.)
- Create charts and pivot tables inside Excel spreadsheets automatically
- Cross-platform support: works on Windows, macOS, Linux under PowerShell Core/7+
- Styling and formatting: can specify column widths, cell formatting, conditional formatting etc.
- Large example collection, good documentation and frequently updated module with versions etc.