Я запустил твой код.В этом нет ничего плохого.Но повезло бы, что я сделал небольшую ошибку в приведенном ниже фрагменте для тестирования.Как и сейчас, он создает гиперссылку для каждой заполненной ячейки на листе.
for (int col = 1; col <= ws.Dimension.End.Column; col++)
{
ws.Column(col).Width = ws.Column(col).Width + 1;
for (var j = 1; j <= ws.Dimension.End.Row; j++)
{
ws.Cells[col, j].Hyperlink = new ExcelHyperLink(Uri.EscapeUriString("http://www.google.nl".Replace("[", "%5B").Replace("]", "%5D"))) { Display = "Link" };
}
}
Но в первый раз я запустил этот фрагмент со следующим Cells[col + 1, j + 1]
.Это создало полностью заполненный лист Excel, поскольку в цикле он каждый раз сдвигался Dimension.End
.Но когда лист был заполнен, он генерировал ту же ошибку, что и вы.Что лист был поврежден.
В заключение может показаться, что Excel или EPPlus не могут обрабатывать гиперссылки за определенным числом ...