Files
XplorePlane/XP.ReportEngine/Services/PlaceholderRef.cs
T
QI Mingxuan d72b583319 [XP.ReportEngine] 新增 TXT/CSV/Excel 三种报告输出格式支持;Excel (.xlsx) 报告生成器,基于 ClosedXML,支持结构化生成和模板填充两种模式; 新增 XplorePlane_ReportTemplate.xlsx:Excel 报告模板文件。
[XP.ReportEngine] 模型与配置扩展:ReportOutputFormat 枚举:新增 Excel=1, Csv=2, Txt=3(显式序号,向后兼容);新增多格式相关配置加载。
2026-07-01 11:31:41 +08:00

46 lines
1.9 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
namespace XP.ReportEngine.Services
{
/// <summary>
/// 占位符类别 | Placeholder kind
/// 依据占位符名前缀分类,决定其填充策略(需求 12.2、12.3、12.4、12.5)。
/// Classified by the placeholder name prefix, deciding its filling strategy
/// (Requirements 12.2, 12.3, 12.4, 12.5).
/// </summary>
internal enum PlaceholderKind
{
/// <summary>标量占位符(Meta.* / Data.*| Scalar placeholder (Meta.* / Data.*)</summary>
Scalar,
/// <summary>表格占位符(Table.*| Table placeholder (Table.*)</summary>
Table,
/// <summary>图像占位符(Image.*| Image placeholder (Image.*)</summary>
Image
}
/// <summary>
/// 占位符引用 | Placeholder reference
/// 记录模板单元格中识别出的一个 <c>{{占位符名}}</c> 文本标记的位置与分类,供模板填充阶段使用(需求 12.2)。
/// Records the position and classification of a <c>{{name}}</c> text placeholder recognized in a
/// template cell, used during the template-filling stage (Requirement 12.2). Internal only, not
/// exposed publicly.
/// </summary>
internal sealed class PlaceholderRef
{
/// <summary>占位符名(去除 <c>{{}}</c> 与首尾空白)| Placeholder name (with <c>{{}}</c> and surrounding whitespace removed)</summary>
public string Name { get; set; }
/// <summary>占位符类别(标量 / 表格 / 图像)| Placeholder kind (Scalar / Table / Image)</summary>
public PlaceholderKind Kind { get; set; }
/// <summary>所在工作表名 | Owning worksheet name</summary>
public string SheetName { get; set; }
/// <summary>所在行号(1 基)| Row number (1-based)</summary>
public int Row { get; set; }
/// <summary>所在列号(1 基)| Column number (1-based)</summary>
public int Column { get; set; }
}
}