2017-02-23 5 views
0

Ich versuche, Titelzeilen auf eine vorhandene Excel-Datei (xlsx) mit ClosedXML Bibliothek und folgenden Code hinzuzufügen:Fehler beim modifizierten Excel (.xlsx) Speichern der Datei mit ClosedXML

public void HandlePrintTitleRows(IList<int> sheetIndex) 
{ 
    using (_workbook = new XLWorkbook(_filePath)) 
    { 
     foreach (var i in sheetIndex) 
     { 
      IXLWorksheet workSheet = _workbook.Worksheet(i); 
      workSheet.PageSetup.SetRowsToRepeatAtTop(1, 5); 
     } 
     _workbook.SaveAs(_filePath); 
    } 
} 

Dateipfad ist von Savefiledialog Dialog und es öffnet scheinbar korrekt als XLWorkbook.

Ich erhalte diese Ausnahme-Nachricht von der _workbook.SaveAs Methode:

Attribut ‚xfId‘ eindeutigen Wert haben sollte.
Sein aktueller Wert '10' dupliziert mit anderen. in/x: styleSheet [1]/x: ZelleStyles [1]/x: ZelleStyle [21]
Attribut 'xfId' sollte einen eindeutigen Wert haben.
Sein aktueller Wert '12' dupliziert sich mit anderen. in/x: styleSheet [1]/x: ZelleStyles [1]/x: ZelleStyle [24]
Das Attribut 'xfId' sollte einen eindeutigen Wert haben.
Der aktuelle Wert '50' dupliziert mit anderen. in/x: styleSheet [1]/x: ZelleStyles [1]/x: ZelleStyle [55
Das Attribut 'xfId' sollte einen eindeutigen Wert haben.
Der aktuelle Wert '50' dupliziert mit anderen. in/x: Stylesheet [1]/x: wendete Cellstyles [1]/x: Cellstyle [59]“

Stacktrace:

bei ClosedXML.Excel.XLWorkbook.Validate (Spread -Paket) in C: \ Git \ ClosedXML \ ClosedXML \ Excel \ XLWorkbook_Save.cs: Zeile 90

bei ClosedXML.Excel.XLWorkbook.CreatePackage (String filePath, spreadsheetDocumentType spreadsheetDocumentType, B ...

Ich bin mir nicht sicher, wie ich mit diesem Problem fortfahren soll, alle Tipps wären sehr willkommen! Die Excel-Datei wurde zuvor von Telerik.Windows.Documents.Spreadsheet.Model.Workbook Klasse erstellt und normal mit Excel-Anwendung geöffnet.

Antwort

3

Öffnen Sie Ihre Originaldatei (unmodifiziert von ClosedXML) mit der OpenXML SDK Validator, um zu sehen, ob es eine gültige Datei ist. Wenn die Überprüfungsfehler in der Originaldatei auftreten, beheben Sie sie, oder Sie können die Überprüfung in ClosedXML mithilfe der Überladung SaveAs(_filePath, false) auf eigene Gefahr deaktivieren.

+0

Irgendeine Idee über die in der Ausnahme beschriebenen Fehler und wie man es beheben kann? Dies sind die Fehlerknoten: CellStyle. Validator listet dieselben Fehler auf wie in der obigen Ausnahme. – ajr

Verwandte Themen