Convert Microsoft Project MPP file to CSV Format

In this article we are going to show how to export Microsoft Project MPP file to CSV file format using Aspose.Tasks for .NET API.

Convert MS Project files to CSV

There are two ways to convert Microsoft Project Project to CSV (Comma-Separated Values) format: use SaveFileFormat enumeration or the CsvOptions class.

In order to convert MS Project MPP file to CSV format with default settings using SaveFileFormat:

  1. Create a new project instance and load the MPP file.
  2. Convert the project to CSV using Project.Save method and specify the SaveFileFormat.CSV as the argument.

To convert MPP files with a non-default settings the CsvOptions class can be used. With this class one can specify additional options while rendering project pages to CSV.

  1. Create a new project instance and load the MPP file.
  2. Convert the project to Excel using Project.Save method and pass the CsvOptions instance as the argument.

Presented below is .NET example showing how to change text delimiter using the options:

How to change the view while convert MPP to CSV

By default the Gantt Chart view is used to decide what column headers will be exported. To change the view the DataCategory property can be used:

How to sort tasks while converting to CSV

By using CsvOptions one can tune the export parameters e.g. control the view to export and/or filter exported tasks. Lets take a look at some of the options available.

For example, one can customize the sorting order of the tasks by assigning a custom comparer to the TasksComparer property. Presented below is the example where tasks sorted by name are exported reversed order:

How to filter tasks while convert to CSV

In order to filter the exported tasks one can specify the task filter by assigning a custom condition to the TasksFilter property:

How to change delimiter while converting to CSV

CSV is a text format that uses text delimiters to split data fields. To change the text delimiter one can set the TextDelimiter property to one of the next values:

  • Comma;
  • Semicolon (the default delimiter);
  • Space;
  • Tab.

The available delimiters are defined in CsvTextDelimiter enumeration.

Presented below is the example in which data fields are being split by tab symbol:

How to change encoding while converting to CSV

By default CSV is being exported in Encoding.Default encoding. To change the encoding the Encoding property can be used:

How to hide column headers while converting to CSV

By default column headers are being exported in CSV format. To suppress export of column headers the IncludeHeaders property can be used: