public CsvData(List<string> headerList, List<string> valueList) { Header = new CsvRecord(); Record = new CsvRecord(); Header.Fields = headerList; Record.Fields = valueList; }
private string EncodeRecord(CsvRecord record) { StringBuilder text = new StringBuilder(); for (int i = 0; i < record.Fields.Count; i++) { string field = record.Fields[i]; FieldFormatOption option = FieldFormatOption.Default; if (FormatOptions != null && FormatOptions.ContainsKey(i)) { option = FormatOptions[i]; } int charsToPad = 0; if (field != null) { string value = option.AlwaysQuoted ? "\"" + EscapeString(field) + "\"" : EncodeField(field); charsToPad = option.TotalWidth - GetTextWidth(value); if (option.AlignRight && charsToPad > 0) { text.Append(new string(' ', charsToPad)); } text.Append(value); } if (i < record.Fields.Count - 1) { text.Append(Separator); } if (!option.AlignRight && charsToPad > 0) { text.Append(new string(' ', charsToPad)); } } return text.ToString(); }