/// <summary> /// Get a csv form string. /// </summary> /// <param name="cellSeparator">CSV cells separator.</param> /// <param name="newLineStyle">NewLineStyle.</param> /// <returns></returns> public string GetEncodeTable(char cellSeparator, NewLineStyle newLineStyle = NewLineStyle.Environment) { if (mStringBuilder == null) { mStringBuilder = new StringBuilder(); } else { mStringBuilder.Clear(); } string newLine = newLineStyle.GetNewLine(); mStringBuilder.Append(Headers.GetCSVEncodeRow(cellSeparator)); mStringBuilder.Append(newLine); mStringBuilder.Append(Descriptions.GetCSVEncodeRow(cellSeparator)); mStringBuilder.Append(newLine); foreach (var record in Records) { mStringBuilder.Append(record.GetEncodeRow(cellSeparator)); mStringBuilder.Append(newLine); } string encodeCSV = mStringBuilder.ToString(); mStringBuilder.Clear(); return(encodeCSV); }
/// <summary> /// Get decode csv string. /// </summary> public string GetDecodeTable(char cellSeparator, NewLineStyle newLineStyle = NewLineStyle.Environment) { if (mStringBuilder == null) { mStringBuilder = new StringBuilder(); } else { mStringBuilder.Clear(); } string newLine = newLineStyle.GetNewLine(); for (int i = 0, len = Headers.Length; i < len; i++) { mStringBuilder.Append(Headers[i]); if (i < len - 1) { mStringBuilder.Append(cellSeparator); } else { mStringBuilder.Append(newLine); } } for (int i = 0, len = Descriptions.Length; i < len; i++) { mStringBuilder.Append(Descriptions[i]); if (i < len - 1) { mStringBuilder.Append(cellSeparator); } else { mStringBuilder.Append(newLine); } } foreach (var record in Records) { mStringBuilder.Append(record.GetDecodeRow(cellSeparator)); mStringBuilder.Append(newLine); } string decodeTable = mStringBuilder.ToString(); mStringBuilder.Clear(); return(decodeTable); }