Я работал с ClosedXML в течение последних 24 часов, мне кажется, что я получил из него все, что мне нужно, кроме одной ошибки.У меня уже есть рабочая тетрадь с 3 листами.Аналогичные данные будут на каждом листе, но это будут разные значения.Ниже я прикрепил свой псевдокод (определенные имена переменных были изменены, чтобы защитить невинных).
Код ниже находится внутри цикла foreach, поскольку я зацикливаюсь на большом наборе таблиц SQL.Проблема в том, что ClosedXML или что-то, что я сделал, записывает одни и те же данные на все листы и перезаписывает листы спереди и сзади.Возможно, я сделал что-то очевидное, но некоторое время я смотрел на один и тот же код и больше не вижу явную ошибку.Любая помощь будет оценена!
//Workbook = new workbook and filepath are initialized outside of the loop
var worksheet = workbook.Worksheet(1);
//This is used to help me identify what column it is in, it references an array of alphabet characters later
int column = 0;
if(loopCt <= 2)
{
worksheet.Cell("A1").Value = "Identifier";
worksheet.Cell("B1").Value = "XYZ Day 1";
worksheet.Cell("C1").Value = "XYZ Day 2";
worksheet.Cell("D1").Value = "XYZ Day 3";
worksheet.Cell("E1").Value = "XYZ Day 4";
worksheet.Cell("F1").Value = "XYZ Day 5";
worksheet.Cell("G1").Value = "XYZ Day 6";
worksheet.Cell("H1").Value = "XYZ Day 7";
worksheet.Cell("I1").Value = "XYZ Day 8";
worksheet.Cell("J1").Value = "XYZ Day 9";
worksheet.Cell("K1").Value = "XYZ Day 10";
worksheet.Cell("L1").Value = "XYZ Weekly Total";
}
worksheet.Cell($"A{loopCt}").Value = item.identifier;
for (int i = 0; i < XYZDaily.Count(); i++)
{
column += 1;
worksheet.Cell($"{alphabet[column]}{loopCt}").Value = XYZDaily[i];
}
worksheet.Cell($"L{loopCt}").Value = XYZWeek;
workbook.Save();
//QRS Export
var worksheetQRS = workbook.Worksheet(2);
int columnQRS = 0;
if (QRSCt <= 2)
{
worksheetQRS.Cell("A1").Value = "Identifier";
worksheetQRS.Cell("B1").Value = "QRS Day 1";
worksheetQRS.Cell("C1").Value = "QRS Day 2";
worksheetQRS.Cell("D1").Value = "QRS Day 3";
worksheetQRS.Cell("E1").Value = "QRS Day 4";
worksheetQRS.Cell("F1").Value = "QRS Day 5";
worksheetQRS.Cell("G1").Value = "QRS Day 6";
worksheetQRS.Cell("H1").Value = "QRS Day 7";
worksheetQRS.Cell("I1").Value = "QRS Day 8";
worksheetQRS.Cell("J1").Value = "QRS Day 9";
worksheetQRS.Cell("K1").Value = "QRS Day 10";
worksheetQRS.Cell("L1").Value = "QRS Weekly Total Test";
}
worksheetQRS.Cell($"A{loopCt}").Value = item.Identifier;
for (int i = 0; i < QRSDaily.Count(); i++)
{
columnQRS += 1;
worksheetQRS.Cell($"{alphabet[columnQRS]}{loopCt}").Value = QRSDaily[i];
}
worksheetQRS.Cell($"L{loopCt}").Value = QRSWeek;
workbook.Save();
TL: DR;Запись данных в существующую электронную таблицу с несколькими листами, записанная в цикле foreach
Проблема: я пытаюсь ориентироваться на один лист за раз, записывать данные, переходить на следующий лист и записывать данные, но этозаписывая одни и те же данные на все листы рабочей книги, я не могу найти в документации ничего об этом конкретном сценарии.
Спасибо за чтение,