2016-09-30 18 views
0

修復しレコード:/xl/styles.xml部分(スタイル)からフォーマット修理されたレコード:/xl/styles.xmlの部分の書式(スタイル)、なぜ修復していないのですか?いずれかの私はそれを修正することができます...ありがとうを事前

私がドン修復された理由を「tはそれを得る

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

あなたはそのStylesheetを設定せずにWorkbookStylesPartを持つことはできませんあなたはライン

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

それとも、そのStyleSheetプロパティを設定することができます削除する必要があり、次のいずれか。

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

編集

またSpreadsheetDocumentCloseを呼び出す必要があります。コードの末尾に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

関連する問題