Пример #1
0
        /// <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);
        }
Пример #2
0
        /// <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);
        }