*強いテキスト* Excel に作成して書き込もうとしています。テンプレートについては、既存の Excel ファイルのコードを OPENXML Productivity Tool から単純にコピーし、そのコードから新しいファイルが作成されたときにデータの行を追加するようにコードを変更しました。ただし、これを正しく機能させるには問題があるようです。私は取得し続けます
ファイルを開けません : パーツ /xl/worksheets/sheet2: ルート要素がありません 置き換えられたパーツ: /xl/worksheets/sheet2.xml パーツと XML エラー。ドキュメントには、ルート要素が 1 つだけ含まれている必要があります。行 1、列 0。
まだ正しくデバッグできないエラー。また、元のテンプレートでは、ワークブックに 3 つのシートがありました。OpenXML 2.0 Productivity ツールは、ドキュメント コードがまとめられた時点で存在していたシートのコードのみを生成すると想定していたため、そのうちの 2 つを削除して、作成された 1 つのコードのみを保持できるようにしました。しかし、生成されたファイルには 4 つの元のシートがすべて配置されていますが、それぞれのヘッダーをまとめることができないようです。
この問題を見つけて修正するためにどこに行くべきかについてのヒントを得たいと思っていました。前もって感謝します。
public void CreatePackage(string filePath)
{
using (SpreadsheetDocument package = SpreadsheetDocument.Create(filePath, SpreadsheetDocumentType.Workbook))
{
CreateParts(package);
}
}
private void CreateParts(SpreadsheetDocument document)
{
ExtendedFilePropertiesPart extendedFilePropertiesPart1 = document.AddNewPart<ExtendedFilePropertiesPart>("rId3");
GenerateExtendedFilePropertiesPart1Content(extendedFilePropertiesPart1);
WorkbookPart workbookPart1 = document.AddWorkbookPart();
GenerateWorkbookPart1Content(workbookPart1);
WorkbookStylesPart workbookStylesPart1 = workbookPart1.AddNewPart<WorkbookStylesPart>("rId3");
GenerateWorkbookStylesPart1Content(workbookStylesPart1);
ThemePart themePart1 = workbookPart1.AddNewPart<ThemePart>("rId2");
GenerateThemePart1Content(themePart1);
WorksheetPart worksheetPart1 = workbookPart1.AddNewPart<WorksheetPart>("rId1");
GenerateWorksheetPart1Content(worksheetPart1);
WorksheetCommentsPart worksheetCommentsPart1 = worksheetPart1.AddNewPart<WorksheetCommentsPart>("rId2");
GenerateWorksheetCommentsPart1Content(worksheetCommentsPart1);
VmlDrawingPart vmlDrawingPart1 = worksheetPart1.AddNewPart<VmlDrawingPart>("rId1");
GenerateVmlDrawingPart1Content(vmlDrawingPart1);
SharedStringTablePart sharedStringTablePart1 = workbookPart1.AddNewPart<SharedStringTablePart>("rId4");
GenerateSharedStringTablePart1Content(sharedStringTablePart1);
SetPackageProperties(document);
}