-
Notifications
You must be signed in to change notification settings - Fork 277
SaveToText
AdrianEPPlus edited this page Jun 20, 2024
·
14 revisions
This method exports a range in a worksheet to a text file (*.csv, *.tsv, *.txt, etc). 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.
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";
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
class has the following properties:
Property | Datatype | Default value | Description |
---|---|---|---|
Delimiter |
char |
',' (comma) |
Delimiter character |
TextQualifier |
char |
'\0' (null) |
A character that encapsulates text |
EOL |
string |
"\r\n" |
End of line characters |
Culture |
CultureInfo |
CultureInfo.InvariantCulture |
Culture used when parsing cell values |
SkipLinesBeginning |
int |
0 | Number of lines skipped at the end |
SkipLinesEnd |
int |
0 | Number of lines skipped at the end |
Encoding |
Encoding |
Encoding.ASCII |
Only used when reading/writing files from disk using a FileInfo object |
Header |
string |
null |
A text written at the start of the content |
Footer |
string |
null |
A text written at the end of the content |
FirstRowIsHeader |
bool |
true |
First row of the range contains the headers. All header cells will be treated as strings |
UseCellFormat |
bool |
true |
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[] |
null |
A specific .NET format for the column. Format is applied with the used culture. For a text column use $ as format. |
DecimalSeparator |
string |
null |
Decimal separator, if other than the used culture. |
ThousandsSeparator |
string |
null |
Thousands separator, if other than the used culture |
EncodedTextQualifier |
string |
null |
What to replace the TextQualifier with inside a text when TextQualifier is set. Default is two TextQualifier characters, for example " is replaced with "" |
Transpose |
bool |
false |
Transpose data on export |
EPPlus Software AB - https://epplussoftware.com
- What is new in EPPlus 5+
- Breaking Changes in EPPlus 5
- Breaking Changes in EPPlus 6
- Breaking Changes in EPPlus 7
- Addressing a worksheet
- Dimension/Used range
- Copying ranges/sheets
- Insert/Delete
- Filling ranges
- Sorting ranges
- Taking and skipping columns/rows
- Data validation
- Comments
- Freeze and Split Panes
- Header and Footer
- Autofit columns
- Grouping and Ungrouping Rows and Columns
- Formatting and styling
- Conditional formatting
- Using Themes
- Working with custom named table- or slicer- styles