SaveToText - donkma93/EPPlus GitHub Wiki

This method exports a range in a worksheet to a csv file. You can configure the format of the file content by using the ExcelOutputTextFormat class as input parameter. This method generates the same output as the ToText method, but sends the output to a file instead of a string. You can also let the method send its output to any Stream of your choice.

Basic usage

Lets create a worksheet and add some values to the cells:

using(var package = new ExcelPackage())
{
    var sheet = package.Workbook.Worksheets.Add("test");
    sheet.Cells["A1"].Value = 1;
    sheet.Cells["B1"].Value = 2;
    sheet.Cells["A2"].Value = 3;
    sheet.Cells["B2"].Value = 4;
}

...and then call the SaveToText method:

// the output file
var file = new FileInfo(@"c:\myCsvFile.txt");
// format with default parameters
var format = new ExcelOutputTextFormat();
sheet.Cells["A1:B2"].SaveToText(file, format);

The content of the file will be "1,2\r\n3,4";

ExcelOutputTextFormat

An instance of this class is sent in as a parameter to the SaveToText method.

var format = new ExcelOutputTextFormat{
    TextQualifier = '\''
};
sheet.Cells["A1:B2"].SaveToText(file, format);

The ExcelOutputTextFormat has the following properties:

  • Delimiter (char) - Delimiter character. Default is comma.
  • TextQualifier (char) - A character that encapsulates text. Default is no TextQualifier (\0).
  • EOL (string) - End of line characters. Default is CRLF.
  • Culture (CultureInfo) - Culture used when parsing cell values. Default is CultureInfo.InvariantCulture.
  • SkipLinesBeginning (int) - Number of lines skpped in the beginning.
  • SkipLinesEnd (int) - Number of lines skipped at the end.
  • Encoding (Encoding) - Only used when reading/writing files from disk using a FileInfo object. Default is ASCII.
  • Header - A text written at the start of the content
  • Footer - A text written at the end of the content
  • FirstRowIsHeader (bool) - First row of the range contains the headers. All header cells will be treated as strings.
  • UseCellFormat (bool) - Use the cells Text property with the applied culture. This only applies to columns with no format set in the Formats collection. If SkipLinesBeginning (see above) is larger than zero, headers will still be read from the first row in the range. If a TextQualifier (see above) is set, non numeric and date columns will be wrapped with the TextQualifier.
  • Formats (string[]) - A specific .NET format for the column. Format is applied with the used culture. For a text column use $ as format.
  • DecimalSeparator (string) - Decimal separator, if other than the used culture.
  • ThousandsSeparator (string) - Thousands separator, if other than the used culture
  • EncodedTextQualifiers (string) - What to replace the TextQualifier with inside a text when TextQualifier is set. Default is two TextQualifier characters, for example " is replaced with "".