ähnlich EPPlus - Named Range is not populated
In seinem Fall waren seine Bereiche in der Arbeitsmappe Ebene, aber er war auf der Arbeitsblatt Ebene suchen. Mein EP-Code zeigt eine Anzahl von 0 Bereichen auf der Arbeitsbuch-Ebene und 15 auf der Blatt-Ebene, wie es sein sollte. Öffnen der Arbeitsblatt.Namen zeigt alle 15, mit Eigennamen.EPPlus - benannten Bereich ist es aber nicht funktioniert
Rufen Sie einen Bereich, und die Formel korrekt mit
"OFFSET (Sheet1! $ 33 A $, 0, Sheet1! _CurrentMonth, 1, 55 -Sheet1! _CurrentMonth)", aber fast alles gibt sonst eine Ausnahme für die Bewertung .
Es meldet 1 Spalte, die falsch ist.
Und die 'FullAddress' sieht richtig mit "! 'Sheet1' _ Fund1Projected", sondern 'FullAddressAbsolute' gibt "$ # REF $ - 1"
Schließlich verwende ich eine Vorlage, xltm, eine zu schaffen Tabellenkalkulation, 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();
}
}
Ich schaute auf den Code auf GitHub, aber nichts sticht heraus.
Versucht es mit den Bereichen auf der Arbeitsmappenebene mit den gleichen Ergebnissen.