2015-07-15 23 views
5

EPPlus'ta aşağıdakileri nasıl uygulayacağını bilen var mı?EPPlus'ta nasıl erişilir?

VSTO kullanımı aşağıdaki yoldur. Bir çalışma sayfasından belirli aralıkları almaya çalışıyorum.

sheet.get_Range("7:9,12:12,14:14", Type.Missing) 

cevap

4

Sen documention tamamen `get_Range' aşina ama esaslı değilim bu

ExcelPackage pck = new ExcelPackage() 
var ws = pck.Workbook.Worksheets.Add("Sheet1"); 
ExcelRange cells = ws.Cells[1, 1, 1, 10];//get 10 cells in row 1 
2

o hücreler EPPlus ait nesne gibi çalışır kullanabilirsiniz. Yani bu: çıktı penceresinde bu

[TestMethod] 
public void Multi_Range_Test() 
{ 

    //Throw in some data 
    var datatable = new DataTable("tblData"); 
    datatable.Columns.Add(new DataColumn("Col1", typeof(int))); 
    datatable.Columns.Add(new DataColumn("Col2", typeof(int))); 
    datatable.Columns.Add(new DataColumn("Col3", typeof(int))); 

    for (var i = 0; i < 20; i++) 
    { 
     var row = datatable.NewRow(); 
     row[0] = i; 
     row[1] = i * 10; 
     row[2] = i * 100; 
     datatable.Rows.Add(row); 
    } 

    var existingFile2 = new FileInfo(@"c:\temp\temp.xlsx"); 
    if (existingFile2.Exists) 
     existingFile2.Delete(); 

    using (var package = new ExcelPackage(existingFile2)) 
    { 
     //Add the data 
     var sheet = package.Workbook.Worksheets.Add("Sheet1"); 
     sheet.Cells.LoadFromDataTable(datatable, true); 

     var range = sheet.Cells["7:9,12:12,14:14"]; 
     foreach (var rangeBase in range) 
     { 
      Console.WriteLine("{{{0} : {1}}}", rangeBase.Address, rangeBase.Value); 
     } 

     //Save the file 
     package.Save(); 
    } 
} 

sonuçları:

{A7 : 5} 
{B7 : 50} 
{C7 : 500} 
{A8 : 6} 
{B8 : 60} 
{C8 : 600} 
{A9 : 7} 
{B9 : 70} 
{C9 : 700} 
{A12 : 10} 
{B12 : 100} 
{C12 : 1000} 
{A14 : 12} 
{B14 : 120} 
{C14 : 1200}