Я пытаюсь добавить 1 день все даты, которые находятся в определенном DataColumn [ «RecordAddedDate»]CSV для SQL - Добавление 1 день до даты в DataColumn
csvData.Columns.AddRange(new DataColumn[3] {
new DataColumn("Manufacturer", typeof(string)),
new DataColumn("SupplierCode", typeof(string)),
new DataColumn("RecordAddedDate", typeof(DateTime))});
На данный момент момент I иметь эту работу:
for (int rowIndex = 0; rowIndex < csvData.Rows.Count; rowIndex++)
{
DateTime dt2 = DateTime.Parse(fieldData[2]);
var newDate = dt2.AddDays(1);
csvData.Rows[rowIndex][2] = newDate;
}
Но это только добавляет 1 день до первой строки, считанной из CSV и не добавляет для отдыха.
Любая помощь?
Вот цикл, а который считывает данные из CSV и добавляет данные
while (!csvReader.EndOfData)
{
string[] fieldData = csvReader.ReadFields();
//Making empty value as null
for (int i = 0; i < fieldData.Length; i++)
{
Console.WriteLine(fieldData[i]);
if (fieldData[i] == "")
{
fieldData[i] = null;
}
for (int rowIndex = 0; rowIndex < csvData.Rows.Count; rowIndex++)
{
DateTime dt2 = csvData.Rows[rowIndex].Field<DateTime>(2);
DateTime newDate = dt2.AddDays(1);
csvData.Rows[rowIndex][2] = newDate;
}
}
csvData.Rows.Add(fieldData);
Console.WriteLine("Rows count:" + csvData.Rows.Count);
}
}
return csvData;
Что такое 'fieldData' здесь? Разве вы не должны начинать с 'csvData.Rows [rowIndex] [2]'? –
csvData - это DataTable. Я отредактировал индекс строки теперь до меньшего int как своей большой таблицы, и я не хотел добавлять все это в этот пост. – TeaAnyOne
Почему бы не использовать SSIS для перемещения данных из CSV в Excel? Он поддерживает импорт из Excel и пользовательских действий, если это необходимо. – Alex