简体   繁体   中英

EPPlus How to add LineSeries with specific range of data from worksheet

I create an Excel file in code. So far, everything works out fine.

Created excel file (image)

I want to create the following chart in code

Excel with Chart (image) (Notice the selected cells and xseries names)

In Excel its easy.

But how do I do that in code?

My experiment

string values = "='Overall Results'!B3;'Overall Results'!D3;'Overall Results'!F3;'Overall Results'!H3;'Overall Results'!J3";
string xSerie = "='Overall Results'!$B$1:$K$1";

linechart.Series.Add(values, xSerie);

didn't work.

You have to create a string with the EPPlus cell adresses.

string values = worksheet.Cells[3, 2].Address + ":" + worksheet.Cells[3, 4].Address + ":" + worksheet.Cells[3, 6].Address;

linechart.Series.Add(values, ExcelRange.GetAddress(1, 2, 1, 11));

Had this problem aswell, but i found a solution:

For some reason, in order to get multiple specific cells in EPPlus, every cell has to be in a range.

So creating multiple ranges, which each only contains 1 cell, is the way to go

string values = "sheetName!B3:sheetName!B3,sheetName!D3:sheetName!D3,sheetName!F3:sheetName!F3,sheetName!H3:sheetName!H3,sheetName!J3:sheetName!J3";

var valueCells = sheet.Cells[values];

string xSerie = (Same concept);

var xCells = sheet.Cells[xSerie];

linechart.Series.Add(valueCells, xCells);

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM