示例#1
0
        public void Serialize(Stream output, object value, bool leaveStreamOpen = true)
        {
            if (output == null)
            {
                throw new ArgumentNullException("output");
            }

            if (value == null)
            {
                throw new ArgumentNullException("value");
            }


            var columnList = GetColumnList(value);

            using (var csv = new CsvBuilder(Settings, output, leaveStreamOpen))
            {
                // Setup Columns
                csv.AddColumns(columnList);

                // Write out row data
                foreach (object rowObject in EnumerateRows(value))
                {
                    var row = csv.AddRow();
                    PopulateRowData(row, rowObject);
                }
            }
        }