У меня есть лист Excel, в котором есть заголовки.Я получаю данные с моего сервера и помещаю их в свою таблицу данных WPF, и она выглядит следующим образом:
При нажатии кнопки мне нужнопоместите значения из моего списка на конкретный лист в моей существующей книге Excel.На самом деле я могу получить значения из таблицы данных WINFORM следующим образом:
var xlApp = new Excel.Application();
Excel.Worksheet sheet = new Excel.Worksheet();
xlApp.Visible = true;
var path = @"D:\Reports\Tag_History.xlsx";
sheet = xlApp.Application.Workbooks.Open(path).Worksheets["Summary"];
var rowCount = dataGrid.Items.Count;
var rowColumn = dataGrid.Columns.Count;
for (int i = 0; i < rowCount - 1; i++)
{
for (int j = 0; j < 7; j++)
{
if (dataGrid[j, i].ValueType == typeof(string))
{
xlsht.Cells[i + 2, j + 1] = "'" + dataGrid[j, i].Value.ToString();
}
else
{
xlsht.Cells[i + 2, j + 1] = dataGrid[j, i].Value.ToString();
}
}
}
, но, поскольку я пытаюсь сделать это в WPF, этот код больше не работает.Это происходит путем передачи данных dataGrid в существующий файл Excel.Поскольку я считаю, что перенос списка в существующий файл Excel лучше, я должен попробовать это.Это то, что я до сих пор:
var xlApp = new Excel.Application();
Excel.Worksheet sheet = new Excel.Worksheet();
xlApp.Visible = true;
var path = @"D:\Reports\Tag_History.xlsx";
sheet = xlApp.Application.Workbooks.Open(path).Worksheets["Summary"];
var range = sheet.Range["A2", "A2"];
foreach (var item in summaryList)
{
range.Value2 = item.TagNumber;
}
Этот код работает, но он обновляет только одну ячейку файла Excel.
Подскажите, пожалуйста, как это сделать?Спасибо.