Как работать с dataTable?

Моя задачка следующая:

У меня есть объект с столбцами x, и каждый столбец имеет значения y. Теперь я должен привести это в Excel.

Я нашел фрагмент, в котором легко можно экспортировать datatable. Поэтому я перенесу свой объект в datatable. Как я могу это сделать?

Язык – это C #

Я не совсем уверен, что знаю, что вы пытаетесь сделать. Я предполагаю, что вы хотите создать DataTable и загрузить в него существующий объект. Предполагая, что ваш класс выглядит примерно так:

public class MyClass { public int ID {get;set;} public string Column1 {get;set;} public DateTime Column2 {get;set;} // ... } 

и предположим, что у вас есть список из них, который вы хотите скопировать в DataTable, вот как это сделать:

 DataTable dt = new DataTable("MyTable"); dt.Columns.Add("ID", typeof(int)); dt.Columns.Add("Column1", typeof(string)); dt.Columns.Add("Column2", typeof(DateTime)); foreach (var o in _myObjectList) { DataRow dr = dt.NewRow(); dr["ID"] = o.ID; dr["Column1"] = o.Column1; dr["Column2"] = o.Column2; dt.Rows.Add(dr); } - DataTable dt = new DataTable("MyTable"); dt.Columns.Add("ID", typeof(int)); dt.Columns.Add("Column1", typeof(string)); dt.Columns.Add("Column2", typeof(DateTime)); foreach (var o in _myObjectList) { DataRow dr = dt.NewRow(); dr["ID"] = o.ID; dr["Column1"] = o.Column1; dr["Column2"] = o.Column2; dt.Rows.Add(dr); } 

Вы можете использовать отражение, чтобы получить поля объекта и добавить столбцы в DataTable:

 private bool IsNullableType(Type theType) { return (theType.IsGenericType && theType.GetGenericTypeDefinition().Equals(typeof(Nullable<>))); } // Create the columns based on the data in the album info - get by reflection var ai = new <your object without data>; Type t = ai.GetType(); this.dataTable.TableName = t.Name; foreach (PropertyInfo p in t.GetProperties()) { var columnSpec = new DataColumn(); // If nullable get the underlying type Type propertyType = p.PropertyType; if (IsNullableType(propertyType)) { var nc = new NullableConverter(propertyType); propertyType = nc.UnderlyingType; } columnSpec.DataType = propertyType; columnSpec.ColumnName = p.Name; this.dataTable.Columns.Add(columnSpec); } this.dataGridView.DataSource = dataTable; 

Затем добавьте строку в таблицу:

 var info = new <your object with data>; // Add by reflection Type t = info.GetType(); var row = new object[t.GetProperties().Length]; int index = 0; foreach (PropertyInfo p in t.GetProperties()) { row[index++] = p.GetValue(info, null); } this.dataTable.Rows.Add(row); 
  • Запись в excel пропускает столбец Generic LDAP Query -
  • Удалить пространство в именах столбцов из DataTable
  • Экспорт данных в файл Excel в asp.net
  • Импорт данных excel в datatable через OleDbDataAdapter заменяет квадратные скобки на круглые
  • Как использовать буфер обмена для копирования данных из листа Excel в DataTable?
  • Связанная таблица Excel (ListObject) не вычисляет
  • Чтение файла Excel в DataTable возвращает пустые поля в DataRows
  • Как удалить экспорт для предварительного предупреждения при экспорте данных
  • Разрешение приложения VB.NET конвертировать файлы Excel в Datatable
  • Проблема с отрицательным экспонентом ExtremeML
  • экспорт данных в excelsheet
  • Interesting Posts

    Номер, сохраненный как текстовое предупреждение в excel с использованием POI

    Изменить размер шрифта и выделение жирным текстом на выходе с помощью xlswrite

    Как исправить последнюю ошибку привязки в функции, которую я должен найти последнюю строку в столбце Excel?

    Проверьте, обновлена ​​ли определенная ячейка excel

    Excel VBA – Подготовьте отчет по данным со всеми пунктами и промежуточными итогами

    Пустая ячейка не пуста?

    Транспонирование разделов данных в Excel VBA

    Как активировать надстройку Excel из командной строки в Windows 7?

    Не удалось создать логику для преобразования значений в Excel в CSV правильным способом с помощью VBA

    Итерация через ячейки в разных листах для синтаксического анализа строки

    Возникли проблемы с вставкой динамического диапазона VBA

    Как распознать, что Excel действительно закрывается в надстройке XLL?

    Преобразование XLS-файла в XLSX в talend

    Как исправить ошибку времени выполнения в VBA для цикла

    Столбцы цветной диаграммы по цвету ячейки

    Давайте будем гением компьютера.