Я использую шаблон Excel и открываю его с помощью C# interop
В моем шаблоне у меня есть эти графики
tero
И используя этот метод для создания графика
private void CreateReportCharts(int?[] cellNumbers)
{
ChartObject TmvChart =(ChartObject)reportWorksheet.ChartObjects("Tmv");
SeriesCollection TmvSeries = TmvChart.Chart.SeriesCollection();
TmvSeries.Item(1).Formula =
$"=SERIES(,'Cell {cellNumbers[0].Value} {GroupId}'!$E$2:$E$21,'Cell {cellNumbers[0].Value} {GroupId}'!$D$2:$D$21,4)";
ChartObject CapacityChart = (ChartObject)reportWorksheet.ChartObjects("Capacity");
SeriesCollection CapacitySeries = CapacityChart.Chart.SeriesCollection();
CapacitySeries.Item(1).Formula =
$"=SERIES(,'Cell {cellNumbers[0].Value} {GroupId}'!$F$2:$F$2291,'Cell {cellNumbers[0].Value} {GroupId}'!$D$2:$D$2291,4)";
ChartObject DischChart = (ChartObject)reportWorksheet.ChartObjects("Disch");
SeriesCollection DischSeries = DischChart.Chart.SeriesCollection();
DischSeries.Item(1).Formula =
$"=SERIES(,'Cell {cellNumbers[0].Value} {GroupId}'!$G$2:$G$2291,'Cell {cellNumbers[0].Value} {GroupId}'!$D$2:$D$2291,4)";
for (int i = 1; i < cellNumbers.Length; i++)
{
TmvSeries.
Add(Type.Missing); //$"=SERIES(,'Cell {cellNumbers[i].Value} {GroupId}'!$E$2:$E$21,'Cell {cellNumbers[i].Value} {GroupId}'!$D$2:$D$21,4)"
CapacitySeries.Item(i+1).Formula =
$"=SERIES(,'Cell {cellNumbers[i].Value} {GroupId}'!$E$2:$E$21,'Cell {cellNumbers[i].Value} {GroupId}'!$D$2:$D$21,4)";
//CapacitySeries.
// Add($"=SERIES(,'Cell {cellNumbers[i].Value} {GroupId}'!$F$2:$F$2291,'Cell {cellNumbers[i].Value} {GroupId}'!$D$2:$D$2291,4)");
//DischSeries.
// Add($"=SERIES(,'Cell {cellNumbers[i].Value} {GroupId}'!$G$2:$G$2291,'Cell {cellNumbers[i].Value} {GroupId}'!$D$2:$D$2291,4)");
}
ChartObject TempChart = (ChartObject)reportWorksheet.ChartObjects("Temp");
Series TempSeries = TempChart.Chart.SeriesCollection(1);
TempSeries.Formula = $"=SERIES(,'Temp °C.'!$C$2:$C$87,'Temp °C.'!$B$2:$B$87,1)";
}
Проблемы возникают в следующей строке:
TmvSeries.Add(Type.Missing);
Как добавить новую серию только с формулой? Я также хочу иметь возможность показывать \ скрывать каждый график с помощью группового поля с правой стороны ...
Я также пытался использовать TmvSeries.NewSeries, но он не может показать \ скрыть с помощью группового блока
Есть идеи? спасибо!