Necessito criar um gráfico de dispersão no Excel, através do C#, porém não sei como criar!
OBS: será para criar um gráfico de uma função de 2° Grau
consigo passar o valor de Y, porém necessito do valor de X que pode ser calculado no próprio Excel ou pelo C#, porém é um calculo para cada valor de Y e que após ter os valores de X, possa criar o gráfico…
Já tenho o valor de Y padrão que é de -20 á 20
segue abaixo as linhas de códigos:
private void` button3_Click(object sender, EventArgs e)
{
Excel.Application oXL; //Aplicação Excel
Excel._Workbook oWB; //Pasta
Excel._Worksheet oSheet; //Planilha
Excel.Range oRng;
try
{
oXL = new Excel.Application();//Inicia o Excel
oXL.Visible = true;//fica Visivel para o usuário
//Get a new workbook.
oWB = (Excel._Workbook)(oXL.Workbooks.Add(Missing.Value));
oSheet = (Excel._Worksheet)oWB.ActiveSheet;
//Adiciona Cabeçalhos na célula
oSheet.Cells[1, 1] = "Valor de A";//Valor de A
oSheet.Cells[1, 2] = "Valor de B";//Valor de B
oSheet.Cells[1, 3] = "Valor de C";//Valor de C
//Formata as celulas A1:D1 como negrito, alinhamento centralizado
oSheet.get_Range("A1", "D1").Font.Bold = true;
oSheet.get_Range("A1", "D1").VerticalAlignment =
Excel.XlVAlign.xlVAlignCenter;
// Cria um Array de string para passar o Valor de A,B e C
string[,] ValorABC = new string[5,3];
//as variáveis 'a', 'b' e 'c' recebem um valor numérico de um Textbox
ValorABC[0, 0] = a.ToString();//Valor de A
ValorABC[0, 1] = b.ToString();//Valor de B
ValorABC[0, 2] = c.ToString();//Valor de C
//Cria um Array para passar o Valor de Y que está entre -20 e 20
string[,] ValorY = new string[50, 50];
//ValorY[Linha, Coluna]
ValorY[1, 0] = " -20"; ValorY[2, 0] = " -19"; ValorY[3, 0] = " -18"; ValorY[4, 0] = " -17"; ValorY[5, 0] = " -16"; ValorY[6, 0] = " -15";
ValorY[7, 0] = " -14"; ValorY[8, 0] = " -13"; ValorY[9, 0] = " -12"; ValorY[10, 0] = " -11"; ValorY[11, 0] = " -10"; ValorY[12, 0] = " -9";
ValorY[13, 0] = " -8"; ValorY[14, 0] = " -7"; ValorY[15, 0] = " -6"; ValorY[16, 0] = " -5"; ValorY[17, 0] = " -4"; ValorY[18, 0] = " -3";
ValorY[19, 0] = " -2"; ValorY[20, 0] = " -1"; ValorY[21, 0] = " 0"; ValorY[22, 0] = " 1"; ValorY[23, 0] = " 2"; ValorY[24, 0] = " 3";
ValorY[25, 0] = " 4"; ValorY[26, 0] = " 5"; ValorY[27, 0] = " 6"; ValorY[28, 0] = " 7"; ValorY[29, 0] = " 8"; ValorY[30, 0] = " 9";
ValorY[31, 0] = " 10"; ValorY[32, 0] = " 11"; ValorY[33, 0] = " 12"; ValorY[34, 0] = " 13"; ValorY[35, 0] = " 14"; ValorY[36, 0] = " 15";
ValorY[37, 0] = " 16"; ValorY[38, 0] = " 17"; ValorY[39, 0] = " 18"; ValorY[40, 0] = " 19"; ValorY[41, 0] = " 20";
//Para pegar o valor de A, B e de C
oSheet.get_Range("A2", "C2").Value2 = ValorABC;
//Valor de Y na escala de -20 a 20 ficará entre H1:H50
oSheet.get_Range("Y1", "Y42").Value2 = ValorY;
//Tamanho automatico entre as colunas A1:C1
oRng = oSheet.get_Range("A1", "C1");
oRng.EntireColumn.AutoFit();
//Manipulate a variable number of columns for Quarterly Sales Data. ??????????????????
//DisplayQuarterlySales(oSheet);
oXL.Visible = true;//Deixa novamente o Excel Visivel para o Usuário
oXL.UserControl = true;//Deixa o usuario ter controle do Excel
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
Alguém pode me Ajudar ?
Utilizo VS 2013 Profissonal