Establishes the foundational structure, core Excel functionality, and tooling. - Implements base components for cells, ranges, columns, and rows. - Integrates a custom calculation engine with a wide range of Excel functions. - Adds comprehensive support for styling, conditional formatting, data validation, comments, pictures, and charts. - Configures build setup, project metadata (NuGet), and developer guidelines. - Includes editor and Git attributes for consistent code style and line endings.
87 lines
2.0 KiB
C#
87 lines
2.0 KiB
C#
using System;
|
|
using ClosedXML.Excel;
|
|
|
|
|
|
namespace ClosedXML_Examples.Misc
|
|
{
|
|
public class Outline : IXLExample
|
|
{
|
|
#region Variables
|
|
|
|
// Public
|
|
|
|
// Private
|
|
|
|
|
|
#endregion
|
|
|
|
#region Properties
|
|
|
|
// Public
|
|
|
|
// Private
|
|
|
|
// Override
|
|
|
|
|
|
#endregion
|
|
|
|
#region Events
|
|
|
|
// Public
|
|
|
|
// Private
|
|
|
|
// Override
|
|
|
|
|
|
#endregion
|
|
|
|
#region Methods
|
|
|
|
// Public
|
|
public void Create(String filePath)
|
|
{
|
|
var wb = new XLWorkbook();
|
|
var ws = wb.Worksheets.Add("Outline");
|
|
|
|
ws.Outline.SummaryHLocation = XLOutlineSummaryHLocation.Right;
|
|
ws.Columns(2, 6).Group(); // Create an outline (level 1) for columns 2-6
|
|
ws.Columns(2, 4).Group(); // Create an outline (level 2) for columns 2-4
|
|
ws.Column(2).Ungroup(true); // Remove column 2 from all outlines
|
|
|
|
ws.Outline.SummaryVLocation = XLOutlineSummaryVLocation.Bottom;
|
|
ws.Rows(1, 5).Group(); // Create an outline (level 1) for rows 1-5
|
|
ws.Rows(1, 4).Group(); // Create an outline (level 2) for rows 1-4
|
|
ws.Rows(1, 4).Collapse(); // Collapse rows 1-4
|
|
ws.Rows(1, 2).Group(); // Create an outline (level 3) for rows 1-2
|
|
ws.Rows(1, 2).Ungroup(); // Ungroup rows 1-2 from their last outline
|
|
|
|
// You can also Collapse/Expand specific outline levels
|
|
//
|
|
// ws.CollapseRows(Int32 outlineLevel)
|
|
// ws.CollapseColumns(Int32 outlineLevel)
|
|
//
|
|
// ws.ExpandRows(Int32 outlineLevel)
|
|
// ws.ExpandColumns(Int32 outlineLevel)
|
|
|
|
// And you can also Collapse/Expand ALL outline levels in one shot
|
|
//
|
|
// ws.CollapseRows()
|
|
// ws.CollapseColumns()
|
|
//
|
|
// ws.ExpandRows()
|
|
// ws.ExpandColumns()
|
|
|
|
wb.SaveAs(filePath);
|
|
}
|
|
|
|
// Private
|
|
|
|
// Override
|
|
|
|
|
|
#endregion
|
|
}
|
|
}
|