2014-03-30 12 views
7

Ich muss neue Daten an vorhandene Excel-Datei, die mit ClosedXML erstellt wurde, anhängen.An Excel-Datei mit ClosedXML anfügen

Wie kann ich eine Excel-Datei mit ClosedXML anhängen? Wie kann ich die Zeilennummer des letzten Datensatzes bekommen und anhängen oder gibt es noch etwas anderes?

Danke!

Antwort

11

Öffnen Sie die vorhandene Arbeitsmappe und verwenden Sie dann die Last*Used Methoden:

XLWorkbook Workbook = new XLWorkbook("C:\existing_excel_file.xlsx"); 
IXLWorkSheet Worksheet = Workbook.Worksheet("name or index of the sheet to use"); 

int NumberOfLastRow = Worksheet.LastRowUsed().RowNumber; 
IXLCell CellForNewData = Worksheet.Cell(NumberOfLastRow + 1, 1); 

Und dann eine der folgenden Optionen verwenden, um auf Ihre Daten abhängig:

CellForNewData.SetValue(data); 
CellForNewData.InsertData(data); 
CellForNewData.InsertTable(datatable); 

Weitere Informationen finden Sie in der documentation unter „Einfügen Daten/Tabellen ".

+0

Ich habe ein Problem mit der Reihenfolge der Daten. Einige Variablen sind in den richtigen Zellen und andere sind jetzt. Ich kann nicht finden, wie InsertData weiß, was in welcher Zelle geht. – lopkiju

+0

Ich habe eine Klasse mit Eigenschaften, die die Daten darstellen, und ich füge die Klasse zu einer ArrayList und einige Daten gehen in die richtige Zelle, andere nicht und ich verstehe nicht, was das Problem ist. – lopkiju

+0

Wenn Ihre Daten eine komplexe Klasse sind, verwenden Sie eine foreach-Schleife und fügen Sie jedes Objekt in eine neue Zeile ein. Dann können Sie die Eigenschaften in die Zellen einfügen, die Sie möchten. – Raidri