アウトライン列を使用することで大領のデータをグループに分けて編成できます。
DioDocs for Excelでは、アウトライン列を追加して階層的なデータをツリービューで表示でき、ビューから表示・非表示することができます。IWorksheetインタフェースのOutlineColumnプロパティを使用してアウトライン列を追加します。アウトライン列を追加すると、行アウトラインが自動的に作成されます。ワークシートをExcelとして保存する場合、アウトライン列が表示されませんが、行アウトラインが保持されます。
セルのインデントレベルは、IRangeインタフェースのIndentLevelプロパティを使用して設定できます。最大インデントレベルは、IOutlineColumnインタフェースのMaxLevelプロパティを使用して設定できます。MaxLevelプロパティは、デフォルト値が10です。
現在のアウトライン列オプションとインデントに基づいてツリーデータ構造を再構築するには、IOutlineColumnインタフェースのRefreshメソッドを使用します。
アウトライン列をPDFにエクスポートでき、SpreadJSと対話するためにJSONにもインポートまたはエクスポートすることができます。
次のサンプルコードは、アウトライン列を作成する方法を示します。
C# |
コードのコピー
|
---|---|
IWorkbook workbook = new Workbook(); IWorksheet worksheet = workbook.Worksheets[0]; //データを設定します object[,] data = new object[,]{ { "Preface", "1", 1 } , { "Java SE5 and SE6", "1.1", 2 }, { "Java SE6", "1.1.1", 2 }, { "The 4th edition", "1.2", 2 }, { "Changes", "1.2.1", 3 }, { "Note on the cover design", "1.3", 4 }, { "Acknowledgements", "1.4", 4 }, { "Introduction", "2", 9 }, { "Prerequisites", "2.1", 9 }, { "Learning Java", "2.2", 10 }, { "Goals", "2.3", 10 }, { "Teaching from this book", "2.4", 11 }, { "JDK HTML documentation", "2.5", 11 }, { "Exercises", "2.6", 12 }, { "Foundations for Java", "2.7", 12 }, { "Source code", "2.8", 12 }, { "Coding standards", "2.8.1", 14 }, { "Errors", "2.9", 14 }, { "Introduction to Objects", "3", 15 }, { "The progress of abstraction", "3.1", 15 }, { "An object has an interface", "3.2", 17 }, { "An object provides services", "3.3", 18 }, { "The hidden implementation", "3.4", 19 }, { "Reusing the implementation", "3.5", 20 }, { "Inheritance", "3.6", 21 }, { "Is-a vs. is-like-a relationships", "3.6.1", 24 }, { "Interchangeable objects with polymorphism", "3.7", 25 }, { "The singly rooted hierarchy", "3.8", 28 }, { "Containers", "3.9", 28 }, { "Parameterized types (Generics)", "3.10", 29 }, { "Object creation & lifetime", "3.11", 30 }, { "Exception handling: dealing with errors", "3.12", 31 }, { "Concurrent programming", "3.13", 32 }, { "Java and the Internet", "3.14", 33 }, { "What is the Web?", "3.14.1", 33 }, { "Client-side programming", "3.14.2", 34 }, { "Server-side programming", "3.14.3", 38 }, { "Summary", "3.15", 38 } }; worksheet.Range["A1:C38"].Value = data; //ColumnWidthを設定します worksheet.Range["A:A"].ColumnWidthInPixel = 310; worksheet.Range["B:C"].ColumnWidthInPixel = 150; //IndentLevelを設定します for (int i = 0; i < data.GetLength(0); i++) { worksheet.Range[i, 0].IndentLevel = (int)data[i, 3]; } //詳細行の上にサマリー行を表示します worksheet.Outline.SummaryRow = SummaryRow.Above; //SJSと対話するときに行アウトラインを表示しないでください。エクスポートされたExcelファイルには行アウトラインが表示されます worksheet.ShowRowOutline = false; //アウトライン列を設定します worksheet.OutlineColumn.ColumnIndex = 0; worksheet.OutlineColumn.ShowCheckBox = true; worksheet.OutlineColumn.ShowImage = true; worksheet.OutlineColumn.MaxLevel = 2; worksheet.OutlineColumn.Images.Add(new ImageSource(File.Open("archiverFolder.png", FileMode.Open), ImageType.PNG)); worksheet.OutlineColumn.Images.Add(new ImageSource(File.Open("newFolder.png", FileMode.Open), ImageType.PNG)); worksheet.OutlineColumn.Images.Add(new ImageSource(File.Open("docFile.png", FileMode.Open), ImageType.PNG)); worksheet.OutlineColumn.CollapseIndicator = new ImageSource(File.Open("decreaseIndicator.png", FileMode.Open), ImageType.PNG); worksheet.OutlineColumn.ExpandIndicator = new ImageSource(File.Open("increaseIndicator.png", FileMode.Open), ImageType.PNG); worksheet.OutlineColumn.SetCheckStatus(0, true); worksheet.OutlineColumn.SetCollapsed(1, true); //見出しとグリッド線を印刷します worksheet.PageSetup.PrintHeadings = true; worksheet.PageSetup.PrintGridlines = true; //json / excel / pdfに保存します workbook.ToJson(new FileStream("outlineColumn1.json", FileMode.Create)); workbook.Save("outlineColumn1.xlsx"); workbook.Save("outlineColumn1.pdf"); |
次の画像は、上記コードのExcel出力を示します。
次の画像は、上記コードのPDF出力を示します。