3 Ağustos 2012 Cuma

c# ile excel'e aktarım yaparken excel ayarlarını değiştiren komutlar.


            
Aldığımız Raporların programlama kısmındaki tarafı son kullanıcı için tam olarak bir şey ifade etmez.Bu raporu excel gibi programlara aktarması raporlama konusunda ve şekil verme konusunda daha rahat ettirecektir.Daha önceki blog yazımda excel'e aktarma işini gerçekleştirmiştik.Onun devamı bir yazıdır.Bu aktarım gerçekleştirilirken c# standart ayarları kullanır hücre değerlerinin sayı mı,tarih mi olduğuna bakmaz.Ya da kolon satır genişliklerine, yazı tipine boyutuna ve bunun gibi şeyleri standart ölçülerinde verir ve aktarır. Bizim burda yapacağımız ise excel verileri alırken aynı zamanda excel ayarlarını gerçekleştirmek.Aşağıda belirli özelliklerin komutlarını 

           


             sheet1.PageSetup.BottomMargin = 86; 

-- Margin özelliğini değiştirir. 86 değeri 3 cm denk gelmekte.
        
            sheet1.PageSetup.PrintTitleRows = "$1:$1";

-- Bu komut aslında sürekli kullandığımız birşey değil. burada ki komut konu başlıklarını print alırken her sayfa başına sabitler. 

            sheet1.PageSetup.Zoom = 80;

-- Bu komutumuz sayfa dışına taşan kısımları sayfaya sıgdırmak için kullanırız.
     
            sheet1.PageSetup.PrintGridlines = true;

-- Çıktı alırken çıktı alacağımız yazıların etrafına çizgi çeker.

            sheet1.PageSetup.Orientation = XlPageOrientation.xlLandscape;  

--Sayfamızın dikey mi, yatay mı olacağını belirleriz.          
            
            excel.Cells.EntireColumn.Font.Name = "Tahoma";

-- Bütün hücrelerin yazı font'unu belirleriz.

            excel.Cells.EntireColumn.Font.Size = 8;  

-- Bütün hücrelerin yazı büyüklüğünü belirleriz.
           


excel.Range["A1","J1"].Interior.Color=System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.Silver);

-- a1 den j1'e kadar olan satırın hücre rengini değiştiririz.

            sheet1.get_Range("A1", "J1").Font.Bold = true;

-- Belirli hücreleri yazı tipini bold yapar.

            sheet1.get_Range("A1", "J1").WrapText = true;

-- Hücre içindeki değerleri kaydırır. 
           
            sheet1.get_Range("A1", "J1").VerticalAlignment = Excel.XlVAlign.xlVAlignCenter;
            sheet1.get_Range("A1", "J1").HorizontalAlignment = Excel.XlVAlign.xlVAlignCenter;

--Hücre içindeki yazıların hücrenin neresinde yer alacağını ayarlar.

            sheet1.Range["a1"].Select();

-- Aktarım yapıldıktan sonra excel açılınca direk a1 hücresi seçili gelir
            ((Range)sheet1.Rows[1, Type.Missing]).RowHeight = 29;

-- 1. Satır yükseklik değerini değiştirir. 
            excel.Cells.EntireColumn.AutoFit();
--Bütün hücreleri otomatik fitler ..

Bu gibi örnekleri çeşitlendirebilirsiniz.