Project

PSWriteOffice

PowerShell document automation across OfficeIMO's document, spreadsheet, presentation, PDF, Project, Access, EPUB, invoicing, and conversion engines.

Stars 654
Forks 82
Open issues 1
Total downloads 4,320,051
Release OfficeIMO-v3.5.3
Language: C# Updated: 2026-11-03
Cmdlet

Export-OfficeExcel

Aliases: ExcelExport
Module
PSWriteOffice
Aliases
ExcelExport
Inputs
System.Object

Exports PowerShell objects to an Excel workbook using an operator-friendly surface.

Syntax

Export-OfficeExcel
[-ApplicationName <String>]
[-Author <String>]
[-AutoFit]
[-AutoFitFormattedColumn]
[-BoldTopRow]
[-Category <String>]
[-ClearCachedFormulaResults]
[-CollectionSeparator <String>]
[-ColumnFormat <Hashtable>]
[-Company <String>]
[-CurrencyColumn <String[]>]
[-DateColumn <String[]>]
[-DateSystem <1900|1904|NineteenHundred|NineteenFour>]
[-DateTimeColumn <String[]>]
[-Description <String>]
[-DictionaryEntrySeparator <String>]
[-DictionaryKeyValueSeparator <String>]
[-DisableFastPackageWriter]
[-DocumentTitle <String>]
[-EvaluateFormulas]
[-ExcludeProperty <String[]>]
[-ForceFullCalculationOnOpen]
[-FormatCultureName <String>]
[-FormatDecimals <Int32>]
[-FreezeFirstColumn]
[-FreezeTopRow]
[-IgnoreMissingColumnFormat]
[-IncludeHeaderInColumnFormat]
[-IncludeUnexportableProperties]
[-InputObject <Object>]
[-IntegerColumn <String[]>]
[-Keywords <String>]
[-LastModifiedBy <String>]
[-Manager <String>]
[-MarkFormulasDirty]
[-MaxCollectionItems <Int32>]
[-MaxNestingDepth <Int32>]
[-NoAutoFilter]
[-NoClobber]
[-NoHeader]
[-NoRowStripes]
[-NoTable]
[-NumberColumn <String[]>]
[-Open]
[-PassThru]
[-Path] <String>
[-PercentColumn <String[]>]
[-PropertyConversionErrorAction <ActionPreference>]
[-SafePreflight]
[-SafeRepairDefinedNames]
[-ShowColumnStripes]
[-ShowFirstColumn]
[-ShowLastColumn]
[-StartColumn <Int32>]
[-StartRow <Int32>]
[-Subject <String>]
[-TableName <String>]
[-TableStyle <ExcelTableStyle>]
[-TextColumn <String[]>]
[-Title <String>]
[-ValidateOpenXml]
[-WorksheetName <String>]
[<CommonParameters>]
#
Parameter set: Create
Export-OfficeExcel
-Append
[-AppendToTable]
[-ApplicationName <String>]
[-Author <String>]
[-AutoFit]
[-AutoFitFormattedColumn]
[-BoldTopRow]
[-Category <String>]
[-ClearCachedFormulaResults]
[-CollectionSeparator <String>]
[-ColumnFormat <Hashtable>]
[-Company <String>]
[-CurrencyColumn <String[]>]
[-DateColumn <String[]>]
[-DateSystem <1900|1904|NineteenHundred|NineteenFour>]
[-DateTimeColumn <String[]>]
[-Description <String>]
[-DictionaryEntrySeparator <String>]
[-DictionaryKeyValueSeparator <String>]
[-DisableFastPackageWriter]
[-DocumentTitle <String>]
[-EvaluateFormulas]
[-ExcludeProperty <String[]>]
[-ForceFullCalculationOnOpen]
[-FormatCultureName <String>]
[-FormatDecimals <Int32>]
[-FreezeFirstColumn]
[-FreezeTopRow]
[-IgnoreMissingColumnFormat]
[-IncludeHeaderInColumnFormat]
[-IncludeUnexportableProperties]
[-InputObject <Object>]
[-IntegerColumn <String[]>]
[-Keywords <String>]
[-LastModifiedBy <String>]
[-Manager <String>]
[-MarkFormulasDirty]
[-MaxCollectionItems <Int32>]
[-MaxNestingDepth <Int32>]
[-NoAutoFilter]
[-NoClobber]
[-NoHeader]
[-NoRowStripes]
[-NoTable]
[-NumberColumn <String[]>]
[-Open]
[-PassThru]
[-Path] <String>
[-PercentColumn <String[]>]
[-PropertyConversionErrorAction <ActionPreference>]
[-SafePreflight]
[-SafeRepairDefinedNames]
[-ShowColumnStripes]
[-ShowFirstColumn]
[-ShowLastColumn]
[-StartColumn <Int32>]
[-StartRow <Int32>]
[-Subject <String>]
[-TableName <String>]
[-TableStyle <ExcelTableStyle>]
[-TextColumn <String[]>]
[-Title <String>]
[-ValidateOpenXml]
[-WorksheetName <String>]
[<CommonParameters>]
#
Parameter set: Append
Export-OfficeExcel
[-ApplicationName <String>]
[-Author <String>]
[-AutoFit]
[-AutoFitFormattedColumn]
[-BoldTopRow]
[-Category <String>]
[-ClearCachedFormulaResults]
-ClearSheet
[-CollectionSeparator <String>]
[-ColumnFormat <Hashtable>]
[-Company <String>]
[-CurrencyColumn <String[]>]
[-DateColumn <String[]>]
[-DateSystem <1900|1904|NineteenHundred|NineteenFour>]
[-DateTimeColumn <String[]>]
[-Description <String>]
[-DictionaryEntrySeparator <String>]
[-DictionaryKeyValueSeparator <String>]
[-DisableFastPackageWriter]
[-DocumentTitle <String>]
[-EvaluateFormulas]
[-ExcludeProperty <String[]>]
[-ForceFullCalculationOnOpen]
[-FormatCultureName <String>]
[-FormatDecimals <Int32>]
[-FreezeFirstColumn]
[-FreezeTopRow]
[-IgnoreMissingColumnFormat]
[-IncludeHeaderInColumnFormat]
[-IncludeUnexportableProperties]
[-InputObject <Object>]
[-IntegerColumn <String[]>]
[-Keywords <String>]
[-LastModifiedBy <String>]
[-Manager <String>]
[-MarkFormulasDirty]
[-MaxCollectionItems <Int32>]
[-MaxNestingDepth <Int32>]
[-NoAutoFilter]
[-NoClobber]
[-NoHeader]
[-NoRowStripes]
[-NoTable]
[-NumberColumn <String[]>]
[-Open]
[-PassThru]
[-Path] <String>
[-PercentColumn <String[]>]
[-PropertyConversionErrorAction <ActionPreference>]
[-SafePreflight]
[-SafeRepairDefinedNames]
[-ShowColumnStripes]
[-ShowFirstColumn]
[-ShowLastColumn]
[-StartColumn <Int32>]
[-StartRow <Int32>]
[-Subject <String>]
[-TableName <String>]
[-TableStyle <ExcelTableStyle>]
[-TextColumn <String[]>]
[-Title <String>]
[-ValidateOpenXml]
[-WorksheetName <String>]
[<CommonParameters>]
#
Parameter set: ClearSheet

Description

Provides a fast PowerShell export path while keeping OfficeIMO as the workbook engine.

Examples

Export objects to a table.

$rows | Export-OfficeExcel -Path .\Report.xlsx -WorksheetName Data -TableName Data -AutoFit -FreezeTopRow

Creates a workbook, writes the objects as a table, auto-fits columns, and freezes the header row.

Export objects with report-friendly column formats.

$rows | Export-OfficeExcel -Path .\Report.xlsx -WorksheetName Data -TableName Sales -TextColumn Id -CurrencyColumn Revenue -ColumnFormat @{ Rate = @{ Style = 'Percent'; Decimals = 1 }; Created = 'Date' } -FormatCultureName en-US -AutoFitFormattedColumn

Formats ID values as text, Revenue as currency, Rate as a one-decimal percentage, and Created as a short date while keeping formatting logic in OfficeIMO.

Parameters

-ApplicationName String optional
Workbook application-name metadata.
-Author String optional
Workbook author metadata.
-AutoFit SwitchParameter optionalaliases: AutoSize
Auto-fit exported columns.
-AutoFitFormattedColumn SwitchParameter optional
Auto-fit only columns that receive export-time column formats.
-BoldTopRow SwitchParameter optional
Bold the exported header row.
-Category String optional
Workbook category metadata.
-ClearCachedFormulaResults SwitchParameter optional
Remove cached formula results before saving.
-CollectionSeparator String optional
Text used between items when a cell contains a collection.
-ColumnFormat Hashtable optional
Header-to-format map. Values may be preset names such as Text, Currency, Percent, Date, or custom Excel number formats.
-Company String optional
Workbook company metadata.
-CurrencyColumn String[] optional
Headers that should be formatted as currency.
-DateColumn String[] optional
Headers that should be formatted as dates.
-DateSystem String optional
Workbook date system for Excel date serials.
Possible values: 1900, 1904, NineteenHundred, NineteenFour
-DateTimeColumn String[] optional
Headers that should be formatted as date/time values.
-Description String optional
Workbook description metadata.
-DictionaryEntrySeparator String optional
Text used between entries when a cell contains a dictionary.
-DictionaryKeyValueSeparator String optional
Text used between a dictionary key and value.
-DisableFastPackageWriter SwitchParameter optional
Disable OfficeIMO fast package writers for this save.
-DocumentTitle String optional
Workbook document title metadata.
-EvaluateFormulas SwitchParameter optional
Evaluate supported formulas and write cached values before saving.
-ExcludeProperty String[] optional
Exclude specific properties from exported objects.
-ForceFullCalculationOnOpen SwitchParameter optional
Request a full workbook recalculation when opened in Excel-compatible applications.
-FormatCultureName String optional
Culture used by friendly currency column presets, such as en-US or pl-PL.
-FormatDecimals Int32 optional
Decimal places used by friendly number, percent, and currency column presets.
-FreezeFirstColumn SwitchParameter optional
Freeze the first exported column.
-FreezeTopRow SwitchParameter optional
Freeze the exported header row.
-IgnoreMissingColumnFormat SwitchParameter optional
Continue when a requested export-time column format header is missing.
-IncludeHeaderInColumnFormat SwitchParameter optional
Include header cells when applying export-time column formats.
-IncludeUnexportableProperties SwitchParameter optional
Include properties that cannot be read by exporting a descriptive placeholder value.
-InputObject Object optionalpipeline: True (ByValue)
Objects to write. Accepts pipeline input.
-IntegerColumn String[] optional
Headers that should be formatted as whole numbers.
-Keywords String optional
Workbook keyword metadata.
-LastModifiedBy String optional
Workbook last-modified-by metadata.
-Manager String optional
Workbook manager metadata.
-MarkFormulasDirty SwitchParameter optional
Mark formula cells dirty before saving.
-MaxCollectionItems Int32 optional
Maximum number of items allowed in one nested collection or dictionary cell. Defaults to 1,048,575; increase explicitly for trusted larger values.
-MaxNestingDepth Int32 optional
Maximum nesting depth allowed while normalizing one cell value. Defaults to 64; increase explicitly for trusted deeper values.
-NoAutoFilter SwitchParameter optional
Disable AutoFilter dropdowns on the created table.
-NoClobber SwitchParameter optional
Do not overwrite an existing workbook unless appending or clearing a sheet.
-NoHeader SwitchParameter optional
Do not emit a header row.
-NoRowStripes SwitchParameter optional
Disable alternating row stripes for newly created tables.
-NoTable SwitchParameter optional
Do not create an Excel table around the exported data.
-NumberColumn String[] optional
Headers that should be formatted as decimal numbers.
-Open SwitchParameter optionalaliases: Show
Open the workbook after saving.
-PassThru SwitchParameter optional
Emit the saved FileInfo.
-Path String requiredposition: 0aliases: FilePath
Destination workbook path.
-PercentColumn String[] optional
Headers that should be formatted as percentages.
-PropertyConversionErrorAction ActionPreference optional
Controls how unreadable PowerShell properties are handled while projecting export rows.
Possible values: SilentlyContinue, Stop, Continue, Inquire, Ignore, Suspend, Break
-SafePreflight SwitchParameter optional
Run OfficeIMO worksheet preflight cleanup before saving.
-SafeRepairDefinedNames SwitchParameter optional
Repair common defined-name issues before saving.
-ShowColumnStripes SwitchParameter optional
Enable alternating column stripes for newly created tables.
-ShowFirstColumn SwitchParameter optional
Emphasize the first table column when the selected style supports it.
-ShowLastColumn SwitchParameter optional
Emphasize the last table column when the selected style supports it.
-StartColumn Int32 optional
Starting column for new exports.
-StartRow Int32 optional
Starting row for new exports. When appending and left at 1, rows are written after the used range.
-Subject String optional
Workbook subject metadata.
-TableName String optional
Optional Excel table name.
-TableStyle ExcelTableStyle optional
Built-in Excel table style name.
Possible values: TableStyleLight1, TableStyleLight2, TableStyleLight3, TableStyleLight4, TableStyleLight5, TableStyleLight6, TableStyleLight7, TableStyleLight8, TableStyleLight9, TableStyleLight10, TableStyleLight11, TableStyleLight12, TableStyleLight13, TableStyleLight14, TableStyleLight15, TableStyleLight16, TableStyleLight17, TableStyleLight18, TableStyleLight19, TableStyleLight20, TableStyleLight21, TableStyleMedium1, TableStyleMedium2, TableStyleMedium3, TableStyleMedium4, TableStyleMedium5, TableStyleMedium6, TableStyleMedium7, TableStyleMedium8, TableStyleMedium9, TableStyleMedium10, TableStyleMedium11, TableStyleMedium12, TableStyleMedium13, TableStyleMedium14, TableStyleMedium15, TableStyleMedium16, TableStyleMedium17, TableStyleMedium18, TableStyleMedium19, TableStyleMedium20, TableStyleMedium21, TableStyleMedium22, TableStyleMedium23, TableStyleMedium24, TableStyleMedium25, TableStyleMedium26, TableStyleMedium27, TableStyleMedium28, TableStyleDark1, TableStyleDark2, TableStyleDark3, TableStyleDark4, TableStyleDark5, TableStyleDark6, TableStyleDark7, TableStyleDark8, TableStyleDark9, TableStyleDark10, TableStyleDark11
-TextColumn String[] optional
Headers that should be formatted as text, useful for IDs, zip codes, and leading-zero values.
-Title String optional
Write a title above the exported table.
-ValidateOpenXml SwitchParameter optional
Validate the saved package with OpenXmlValidator and throw on errors.
-WorksheetName String optionalaliases: Sheet
Worksheet name to create or update.
-Append SwitchParameter requiredsets: Append
Append rows to an existing worksheet when the workbook exists.
-AppendToTable SwitchParameter optionalsets: Append
Require append operations to extend an existing Excel table instead of writing after the used range.
-ClearSheet SwitchParameter requiredsets: ClearSheet
Replace the target worksheet inside an existing workbook.

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.