2010-11-05 16 views
5

C# ile bir excel spread-hile oluşturuyorum ve ilk sütunu dondurmak istiyorum. Bu kullandığım kodudur:c ile excel sütununu dondurun # #

public static void SaveToExcel(object[,] data) 
    { 
     Excel = Microsoft.VisualBasic.Interaction.CreateObject("Excel.Application", String.Empty); 
     Excel.ScreenUpdating = false; 
     dynamic workbook = Excel.workbooks; 
     workbook.Add(); 

     dynamic worksheet = Excel.ActiveSheet; 

     const int left = 1; 
     const int top = 1; 
     int height = data.GetLength(0); 
     int width = data.GetLength(1); 
     int bottom = top + height - 1; 
     int right = left + width - 1; 

     if (height == 0 || width == 0) 
      return; 

     dynamic rg = worksheet.Range[worksheet.Cells[top, left], worksheet.Cells[bottom, right]]; 
     rg.Value = data; 

     // Set borders 
     for (var i = 1; i <= 4; i++) 
      rg.Borders[i].LineStyle = 1; 

     // Set header view 
     dynamic rgHeader = worksheet.Range[worksheet.Cells[top, left], worksheet.Cells[top, right]]; 
     rgHeader.Font.Bold = true; 
     rgHeader.Interior.Color = 189 * (int)Math.Pow(16, 4) + 129 * (int)Math.Pow(16, 2) + 78; 
     rg.EntireColumn.AutoFit(); 

     // Show excel app 
     Excel.ScreenUpdating = true; 
     Excel.Visible = true; 
    } 

Beni Lütfen Yardım Could ???

cevap

11

doğru çözümdür göz at ayarlamak gerekir Aşağıdaki kodu eklemek için:

 worksheet.Activate(); 
     worksheet.Application.ActiveWindow.SplitColumn = 1; 
     worksheet.Application.ActiveWindow.FreezePanes = true; 
İlgili konular