/*******************************************************************************
* You may amend and distribute as you like, but don't remove this header!
*
* EPPlus provides server-side generation of Excel 2007/2010 spreadsheets.
* See http://www.codeplex.com/EPPlus for details.
*
* Copyright (C) 2011 Jan Källman
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU Lesser General Public License for more details.
*
* The GNU Lesser General Public License can be viewed at http://www.opensource.org/licenses/lgpl-license.php
* If you unfamiliar with this license or have questions about it, here is an http://www.gnu.org/licenses/gpl-faq.html
*
* All code and executables are provided "as is" with no warranty either express or implied.
* The author accepts no liability for any damage or loss of business that this product may cause.
*
* Code change notes:
*
* Author Change Date
* ******************************************************************************
* Jan Källman Initial Release 2011-01-01
* Jan Källman License changed GPL-->LGPL 2011-12-27
*******************************************************************************/
using System;
using System.Collections.Generic;
using System.Text;
using System.Globalization;
namespace OfficeOpenXml
{
///
/// Discribes a column when reading a text using the ExcelRangeBase.LoadFromText method
///
public enum eDataTypes
{
///
/// Let the the import decide.
///
Unknown,
///
/// Always a string.
///
String,
///
/// Try to convert it to a number. If it fails then add it as a string.
///
Number,
///
/// Try to convert it to a date. If it fails then add it as a string.
///
DateTime,
///
/// Try to convert it to a number and divide with 100.
/// Removes any tailing percent sign (%). If it fails then add it as a string.
///
Percent
}
///
/// Describes how to split a CSV text. Used by the ExcelRange.LoadFromText method
///
public class ExcelTextFormat
{
///
/// Describes how to split a CSV text
///
/// Default values
///
/// PropertyValue
/// - Delimiter,
/// - TextQualifierNone (\0)
/// - EOLCRLF
/// - CultureCultureInfo.InvariantCulture
/// - DataTypesEnd of line default CRLF
/// - SkipLinesBeginning0
/// - SkipLinesEnd0
/// - EncodingEncoding.ASCII
///
///
public ExcelTextFormat()
{
Delimiter = ',';
TextQualifier = '\0';
EOL = "\r\n";
Culture = CultureInfo.InvariantCulture;
DataTypes=null;
SkipLinesBeginning = 0;
SkipLinesEnd = 0;
Encoding=Encoding.ASCII;
}
///
/// Delimiter character
///
public char Delimiter { get; set; }
///
/// Text qualifier character
///
public char TextQualifier {get; set; }
///
/// End of line characters. Default CRLF
///
public string EOL { get; set; }
///
/// Datatypes list for each column (if column is not present Unknown is assumed)
///
public eDataTypes[] DataTypes { get; set; }
///
/// Culture used when parsing. Default CultureInfo.InvariantCulture
///
public CultureInfo Culture {get; set; }
///
/// Number of lines skiped in the begining of the file. Default 0.
///
public int SkipLinesBeginning { get; set; }
///
/// Number of lines skiped at the end of the file. Default 0.
///
public int SkipLinesEnd { get; set; }
///
/// Only used when reading files from disk using a FileInfo object. Default AscII
///
public Encoding Encoding { get; set; }
}
}