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

ConvertTo-OfficeCsv

Namespace PSWriteOffice
Inputs
OfficeIMO.CSV.CsvDocument System.Object
Outputs
System.String System.IO.FileInfo

Converts objects or a CSV document into CSV text or a file.

Remarks

By default returns CSV text; use -OutputPath to save to disk.

Examples

Authored help example

Convert objects to CSV text.

PS>


$csv = $data | ConvertTo-OfficeCsv
        

Generates CSV text from the input objects.

Export with a stable schema order.

PS>


$rows = @(
                [ordered]@{ Id = 1; Name = 'Alpha'; Total = 10.5 },
                [ordered]@{ Id = 2; Name = 'Beta'; Total = 7.25 }
              )
              $rows | ConvertTo-OfficeCsv -OutputPath .\export.csv -Delimiter ';'
        

Uses ordered dictionaries to enforce column order and a custom delimiter.

Write CSV without headers.

PS>


$data | ConvertTo-OfficeCsv -IncludeHeader:$false -OutputPath .\noheader.csv
        

Writes rows only when a downstream system expects headerless CSV.

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

ConvertTo-OfficeCsv [-Culture <CultureInfo>] [-Delimiter <Char>] [-Encoding <Encoding>] [-IncludeHeader <Boolean>] [-InputObject <Object>] [-NewLine <String>] [-OutputPath <String>] [-PassThru] [<CommonParameters>]
#
Parameter set: InputObject

Parameters

Culture CultureInfo optionalposition: namedpipeline: False
Culture used for value formatting.
Delimiter Char optionalposition: namedpipeline: False
Field delimiter character.
Encoding Encoding optionalposition: namedpipeline: False
Encoding used when writing files.
IncludeHeader Boolean optionalposition: namedpipeline: False
Include the header row in the output.
InputObject Object optionalposition: namedpipeline: True (ByValue)
Objects to convert into CSV rows.
NewLine String optionalposition: namedpipeline: False
Override the newline sequence.
OutputPath String optionalposition: namedpipeline: Falsealiases: OutPath
Optional output path for the CSV file.
PassThru SwitchParameter optionalposition: namedpipeline: False
Emit a FileInfo when saving to disk.

Outputs

System.String System.IO.FileInfo

ConvertTo-OfficeCsv [-Culture <CultureInfo>] [-Delimiter <Char>] -Document <CsvDocument> [-Encoding <Encoding>] [-IncludeHeader <Boolean>] [-NewLine <String>] [-OutputPath <String>] [-PassThru] [<CommonParameters>]
#
Parameter set: Document

Parameters

Culture CultureInfo optionalposition: namedpipeline: False
Culture used for value formatting.
Delimiter Char optionalposition: namedpipeline: False
Field delimiter character.
Document CsvDocument requiredposition: namedpipeline: True (ByValue)
CSV document to serialize.
Encoding Encoding optionalposition: namedpipeline: False
Encoding used when writing files.
IncludeHeader Boolean optionalposition: namedpipeline: False
Include the header row in the output.
NewLine String optionalposition: namedpipeline: False
Override the newline sequence.
OutputPath String optionalposition: namedpipeline: Falsealiases: OutPath
Optional output path for the CSV file.
PassThru SwitchParameter optionalposition: namedpipeline: False
Emit a FileInfo when saving to disk.

Outputs

System.String System.IO.FileInfo