شماره صفحه در هدر سفارشی و خروجی اکسل
اهمیت: عادی نوع: درخواست راهنمایی شماره نگارش: 2.8
سلام
با تشکر از پروژه مفیدتون؛ من مثال ها، درخواست‌های راهنمایی و بازخوردهای پروژه رو دیدم ولی هنوز نتونستم جواب دو تا سوال زیر رو پیدا کنم:
  1. چطوری در CustomHeader میتونم شماره صفحه بذارم؟ [1]
  2. چطوری میشه فایل جداگانه اکسل رو بدون ضمیمه شدن در ایجاد کرد؟ (یعنی کلاس  ExportToExcel رو بدون نیاز به ایجاد فایل Pdf استفاده کرد؟)
[1]: کدی که نوشتم:
private static Action<PagesHeaderBuilder> CreateCustomHeader(ReportHeader reportHeader)
{
    return
        header => header.XHtmlHeader(rptHeader =>
        {
            rptHeader.PageHeaderProperties(new XHeaderBasicProperties
            {
                ShowBorder = true,
                PdfFont = header.PdfFont,
                RunDirection = PdfRunDirection.RightToLeft,
            });
            rptHeader.AddPageHeader(pageHeader => CreateHeaderHtml(reportHeader));
        });
}
ReportHeader: یک کلاس هست که از بیرون میگیرم برای ساختن هدر و فقط شامل رشته هایی است که قراره در هدر قرار بگیرند.
CreateHeaderHtml:   بر اساس  ReportHeader  فقط یک رشته Html می‌سازد و مشکلم همین جاست که چطور صفحه جاری رو میشه به این متد ارسال کرد.
* متاسفانه از  InlineProviders   و CustomHeaderFooterPdfReport   هم نتونستم در این زمینه کمک بگیرم.
---
با تشکر
  • #
    ‫۹ سال و ۷ ماه قبل، جمعه ۱۵ اسفند ۱۳۹۳، ساعت ۰۰:۴۱
    1- ابتدا کش شدن هدر را غیرفعال کنید:
    .PagesHeader(header =>
    {
        header.CacheHeader(cache: false)
    سپس callback مربوط به ایجاد هدر (RenderingReportHeader)، به ازای هر بار رندر شدن، یکبار فراخوانی می‌شود (اگر کش شدن هدر فعال باشد، فقط یکبار فراخوانی می‌شود). در اینجا یک متغیر به نام pageNumber تعریف کنید و مقدار آن‌را هر بار یک واحد افزایش دهید (یک فیلد خصوصی در سطح کلاس) . سپس این مقدار را در هدر سفارشی که طراحی می‌کنید، قرار دهید (به هر نحو و شکلی که صلاح می‌دانید؛ خروجی PdfGrid هر شکل دلخواهی را می‌تواند داشته باشد).
    2- چنین امکانی وجود ندارد. این خروجی فقط در خود فایل قرار می‌گیرد و نحوه‌ی تشکیل آن هم دقیقا در حین تشکیل فایل PDF انجام می‌شود.
    • #
      ‫۹ سال و ۶ ماه قبل، پنجشنبه ۲۱ اسفند ۱۳۹۳، ساعت ۲۱:۵۰
      در مورد دوم من طبق مطلب شما از (EPPlus) برای ایجاد فایل اکسل استفاده کردم. ضمناً بعداً دیدم همین سوال رو دوست دیگه ای پرسیده بود، ولی بی دقتی از من بود.
      باز هم تشکر