using OfficeExcel = Microsoft.Office.Interop.Excel;
Öncelikle 10 random sayı üretiyoruz. Kod:
private void button1_Click(object sender, EventArgs e)
{
ArrayList liste = new ArrayList();
Random sayi = new Random();
for (int i = 0; i < 10; i++)
{
liste.Add(sayi.Next(0, 100));
}
ExcelAktar(liste);
}
Sayılarımızı rastgele ürettik ve ExcelAktar fonksiyonumuza gönderdik. Kod:
static OfficeExcel.Application ExcelUygulama = new OfficeExcel.Application();
static OfficeExcel.Workbook ExcelKitap = ExcelUygulama.Workbooks.Add(Type.Missing);
static OfficeExcel.Worksheet ExcelSayfa = ExcelUygulama.ActiveSheet;
public void ExcelAktar(ArrayList liste)
{
ExcelUygulama.Visible = true;
//dizimizi excele aktarıyoruz öncelikle
for(int i = 0; i < liste.Count; i++)
{
object hucre1 = ExcelSayfa.Cells[i+2, 2];
OfficeExcel.Range bolge1 =ExcelSayfa.get_Range(hucre1, hucre1);
OfficeExcel.Range bolge1 =ExcelSayfa.get_Range(hucre1, hucre1);
bolge1.Value2 = liste[i];
}
//grafik çizmek için gerekli nesnemizi oluşturduk öncelikle...
OfficeExcel.ChartObjects grafikciz = (OfficeExcel.ChartObjects)ExcelSayfa.ChartObjects(Type.Missing);
//grafiği nasıl çizeceğimi belirledim.. 4 parametre kullandık bu alanı belirtmek için
//1-soldan uzaklığı.. 2-üstten uzaklığı.. 3-alanın genişliği.. 4-alanın yüksekliği..
OfficeExcel.Chart grafik = grafikciz.Add(240, 15, 300, 300).Chart;
//burada excelden hangi hücredeki verileri kullarak grafik çizeceğimi belirttim
OfficeExcel.Range cizimalan = ExcelSayfa.get_Range("B2", "B" + (liste.Count + 1));
//çizimimizi yaptırıyoruz..
grafik.SetSourceData(cizimalan, Type.Missing);
//grafiğimizin çizim şekli.
grafik.ChartType = OfficeExcel.XlChartType.xlLineMarkers;
//dosyayı kaydeteceğimiz yol.. ve kaydetme işlemi
string yol = @"C:\Users\PC\Desktop\" + DateTime.Now.ToShortDateString() + ".xlsx";
ExcelKitap.SaveAs(yol, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, OfficeExcel.XlSaveAsAccessMode.xlNoChange, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
}