Подобно EPPlus - Named Range is not populated
В случае его диапазоны были на уровне рабочей книги, но он смотрел на уровне рабочего листа. Мой код EP показывает количество 0 диапазонов на уровне рабочей книги и 15 на уровне листа, как и должно быть. Открытие рабочего листа. Имена показывают все 15, с именами.EPPlus - именованный диапазон есть, но не работает
Получить диапазон, а формула верна с
"OFFSET (Лист1! $ A $ 33, 0, Лист1! _CurrentMonth, 1, 55 -Sheet1! _CurrentMonth)", но почти все остальное возвращает исключение по оценке ,
В нем отображается 1 столбец, что неверно.
А 'FullAddress' выглядит правильно с "! 'Лист1' _ Fund1Projected", но 'FullAddressAbsolute' дает "$ # REF $ - 1"
Наконец, я использую шаблон, XLTM, чтобы создать таблица, xlsm.
public static void CreateChart()
{
var excelFullPath = "C:\\Users\\username\\Documents\\Excel\\Templates\\";
var excelFileName = "LowCashBalanceChart.xlsm";
FileInfo newFile = new FileInfo(excelFullPath + excelFileName);
if (newFile.Exists)
newFile.Delete();
FileInfo template = new FileInfo(excelFullPath + "Sample Chart.xltm");
using (ExcelPackage xlPackage = new ExcelPackage(newFile, template))
{
ExcelWorksheet worksheet = xlPackage.Workbook.Worksheets["Sheet1"]; //xlPackage.Workbook.Worksheets.FirstOrDefault();
ExcelNamedRange namedRange;
namedRange = xlPackage.Workbook.Names["_Fund1Projected"]; // fails, no ranges at the WB level
namedRange = worksheet.Names["_Fund1Projected"]; // this one works
for (int rowIndex = namedRange.Start.Row; rowIndex <= namedRange.End.Row; rowIndex++) // Exception on range.Start
// 'namedRange.Start' threw an exception of type 'System.ArgumentOutOfRangeException'
{
for (int columnIndex = namedRange.Start.Column; columnIndex <= namedRange.End.Column; columnIndex++)
{
worksheet.Cells[rowIndex, columnIndex].Value = (rowIndex * 100 + columnIndex).ToString();
}
}
xlPackage.Save();
}
}
Я просмотрел код на GitHub, но ничего не выделяется.
Пробовал с диапазонами на уровне рабочей книги, а также с теми же результатами.