2016-09-30 198 views
0

修復記錄:從格式部分/xl/styles.xml(樣式)已修復記錄:從/xl/styles.xml部分格式(樣式),它爲什麼修復我沒有得到它?任何一個可以幫我修復它... thanx提前

爲什麼它被修復我不「弄不明白

m_objSpreadsheetDocument = SpreadsheetDocument.Create(FileName, SpreadsheetDocumentType.Workbook); 
m_objWorkbookPart = m_objSpreadsheetDocument.AddWorkbookPart(); 
m_objWorkbookPart.Workbook = new Workbook(); 

// Add a WorksheetPart to the WorkbookPart. 
m_objWorksheetPart = m_objWorkbookPart.AddNewPart<WorksheetPart>(); 
m_objWorksheetPart.Worksheet = new Worksheet(new SheetData()); 
m_objWorksheet = m_objWorksheetPart.Worksheet; 

// Add Sheets to the Workbook. 
Sheets sheets = m_objSpreadsheetDocument.WorkbookPart.Workbook.AppendChild<Sheets>(new Sheets()); 

// Append a new worksheet and associate it with the workbook. 
Sheet sheet = new Sheet() 
{ 
    Id = m_objSpreadsheetDocument.WorkbookPart.GetIdOfPart(m_objWorksheetPart), 
    SheetId = 1, 
    Name = _sheetName 
}; 
sheets.Append(sheet); 

wStylePart = m_objSpreadsheetDocument.WorkbookPart.AddNewPart<WorkbookStylesPart>(); 

m_objSheetData = m_objWorksheetPart.Worksheet.GetFirstChild<SheetData>(); 
+0

你能更具體?什麼/在哪裏被修復? – ltiveron

+0

這是當你在Excel中打開文件時,它會提示你修復文件。 – petelids

回答

0

你不能有一個WorkbookStylesPart沒有設置其Stylesheet您可能需要刪除行

wStylePart = m_objSpreadsheetDocument.WorkbookPart.AddNewPart<WorkbookStylesPart>(); 

或者,你可以設置其屬性StyleSheet

var wStylePart = m_objSpreadsheetDocument.WorkbookPart.AddNewPart<WorkbookStylesPart>(); 
wStylePart.Stylesheet = new Stylesheet(); 

編輯

您還需要調用CloseSpreadsheetDocument。您可以在代碼底部添加一個致電m_objSpreadsheetDocument.Close();的電話,或者您最好將電話SpreadsheetDocument.Create包含在using聲明中。

完整的代碼會再看看這樣的:

using (var m_objSpreadsheetDocument = SpreadsheetDocument.Create(file, SpreadsheetDocumentType.Workbook)) 
{ 
    var m_objWorkbookPart = m_objSpreadsheetDocument.AddWorkbookPart(); 
    m_objWorkbookPart.Workbook = new Workbook(); 

    // Add a WorksheetPart to the WorkbookPart. 
    var m_objWorksheetPart = m_objWorkbookPart.AddNewPart<WorksheetPart>(); 
    m_objWorksheetPart.Worksheet = new Worksheet(new SheetData()); 
    var m_objWorksheet = m_objWorksheetPart.Worksheet; 

    // Add Sheets to the Workbook. 
    Sheets sheets = m_objSpreadsheetDocument.WorkbookPart.Workbook.AppendChild<Sheets>(new Sheets()); 

    // Append a new worksheet and associate it with the workbook. 
    Sheet sheet = new Sheet() 
    { 
     Id = m_objSpreadsheetDocument.WorkbookPart.GetIdOfPart(m_objWorksheetPart), 
     SheetId = 1, 
     Name = "Sheet 1" 
    }; 
    sheets.Append(sheet); 

    //either both of these lines are required or neither of them; you can't add the WorkbookStylesPart alone 
    var wStylePart = m_objSpreadsheetDocument.WorkbookPart.AddNewPart<WorkbookStylesPart>(); 
    wStylePart.Stylesheet = new Stylesheet(); 

    var m_objSheetData = m_objWorksheetPart.Worksheet.GetFirstChild<SheetData>(); 
} 
+0

仍然無法使用,已修復記錄:/xl/worksheets/sheet.xml部分的單元信息和已修復的記錄:來自/xl/styles.xml部分的格式(樣式) –

+0

@MohdWaqar,請參閱我的編輯。該代碼對我無影響。 – petelids

+0

@MohdWaqar - 我的更新有幫助嗎? – petelids

相關問題