2011-07-12 32 views
11

Çok fazla XLSX dosyam var ve dosyadaki son satırdan sonra yeni bir satır eklemem gerekiyor. OpenXML kullanıyorum ve şu ana kadar e-tabloyu nasıl açacağımı/oluşturacağımı biliyorum, ancak varolan dosyalara yeni satır eklemeye yönelik arama hiçbir şey döndürmedi. Herhangi bir fikir ?OpenXML Varolan Excel dosyasına yeni satır ekleyin

cevap

12

yapmanız gereken tüm sonuna boş bir satır ekleyin ve bir satır zaten satır dizinindeki varsa umursamıyorsun, o zaman sizin için çalışmalıdır:

public static void InsertRow(WorksheetPart worksheetPart) 
    { 
     SheetData sheetData = worksheetPart.Worksheet.GetFirstChild<SheetData>(); 
     Row lastRow = sheetData.Elements<Row>().LastOrDefault(); 

     if (lastRow != null) 
     { 
      sheetData.InsertAfter(new Row() { RowIndex = (lastRow.RowIndex + 1) }, lastRow); 
     } 
     else 
     { 
      sheetData.Insert(new Row() { RowIndex = 0 }); 
     } 
    } 
+0

sayesinde, işe yaradı. – james

+2

OpenXML SDK 2.5 (Çalışma Zamanı) v4.0.30319 için, Insert yöntemi yoktur, bu nedenle aşağıdaki gibi InsertAt kullanılır: 'sheetData.InsertAt (yeni Satır() {RowIndex = 0}, 0); –

+2

@ JaisS. yorumu oldukça alakalı görünüyor. Belki de cevaba eklenebilir? – Panzercrisis

4

ise Eğer hiçbir Insert yöntem yoktur v4.0.30319 açık XML SDK 2.5 (Runtime) kullanır, ancak aşağıdaki gibi bir yerine InsertAt kullanabilirsiniz:

sheetData.InsertAt(new Row() { RowIndex = 0 }, 0);