Evotec

Project

PSWriteOffice

PSWriteOffice is an open-source PowerShell and .NET project with packages, release history, and technical documentation.

Stars 144
Forks 12
Open issues 16
PowerShell Gallery downloads 150,904
Release v0.2.0
Language: C# Updated: 2026-04-06

API Reference

Cmdlet

Get-OfficeExcelData

Namespace PSWriteOffice
Inputs
OfficeIMO.Excel.ExcelDocument
Outputs
System.Object

Reads worksheet data as dictionaries or PSCustomObjects.

Remarks

Uses the first row as headers and materializes rows via the OfficeIMO Excel fluent reader.

Examples

Authored help example

Read the used range as PSCustomObjects.

PS>


Get-OfficeExcelData -Path .\report.xlsx -Sheet 'Summary' | Format-Table
        

Returns each row as a PSCustomObject with properties mapped from the header row.

Common Parameters

This command supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable.

For more information, see about_CommonParameters.

Syntax

Get-OfficeExcelData [-AsHashtable] [-Document <ExcelDocument>] [-NumericAsDecimal] [-Path <String>] [-Range <String>] [-Sheet <String>] [<CommonParameters>]
#
Parameter set: All Parameter Sets

Parameters

AsHashtable SwitchParameter optionalposition: namedpipeline: False
Emit each row as a dictionary instead of PSCustomObjects.
Document ExcelDocument optionalposition: namedpipeline: True (ByValue)
Workbook to read when it is already open.
NumericAsDecimal SwitchParameter optionalposition: namedpipeline: False
Prefer decimals (instead of doubles) for numeric cells.
Path String optionalposition: 0pipeline: False
Path to the workbook when no Document is supplied.
Range String optionalposition: namedpipeline: False
Optional A1 range (e.g. A1:D10). When omitted, the sheet's used range is read.
Sheet String optionalposition: namedpipeline: False
Worksheet name to read; defaults to the first sheet.

Outputs

System.Object