Просто начните писать строки соответственно:)
Так, например, в этой строке:
ws.Cells[r + 1, c + 1].Value = d;
make
ws.Cells[r + 3, c + 1].Value = d;
имея:
public ExcelWorksheet WriteToExcelWorksheet(ExcelPackage package, IEnumerable<IEnumerable<string>> data)
{
var rows = data.ToList();
var ws = package.Workbook.Worksheets[0];
for (var r = 0; r < rows.Count; r++)
{
var row = rows[r].ToList();
for (var c = 0; c < row.Count; c++)
{
if (!string.IsNullOrWhiteSpace(row[c]))
{
if (decimal.TryParse(row[c], out var d))
{
ws.Cells[r + 3, c + 1].Value = d;
}
else
{
ws.Cells[r + 3, c + 1].Value = row[c];
}
}
}
}
return ws;
}