Intestazioni di pagina e piè di pagina (Generatore report e SSRS)Page Headers and Footers (Report Builder and SSRS)

Un report può contenere un'intestazione e un piè di pagina, posizionati rispettivamente nella parte superiore e inferiore di ogni pagina.A report can contain a header and footer that run along the top and bottom of each page, respectively. Le intestazioni e i piè di pagina possono contenere testo statico, immagini, linee, rettangoli, bordi, colore di sfondo, immagini di sfondo ed espressioni.Headers and footers can contain static text, images, lines, rectangles, borders, background color, background images, and expressions. Le espressioni includono riferimenti ai campi del set di dati per i report contenenti un solo set di dati e chiamate di funzioni di aggregazione che includono il set di dati come ambito.Expressions include dataset field references for reports with exactly one dataset and aggregate function calls that include the dataset as a scope.

Nota

Ogni estensione per il rendering elabora le pagine in modo diverso.Each rendering extension processes pages differently. Per altre informazioni sulle estensioni per il rendering e la paginazione dei report, vedere Paginazione in Reporting Services (Generatore report e SSRS).For more information about report pagination and rendering extensions, see Pagination in Reporting Services (Report Builder and SSRS).

Per impostazione predefinita, i report includono piè di pagina, ma non intestazioni di pagina.By default, reports have page footers, but not page headers. Per altre informazioni su come aggiungerli o rimuoverli, vedere Aggiungere o rimuovere un'intestazione o un piè di pagina (Generatore report e SSRS).For more information about how to add or remove them, see Add or Remove a Page Header or Footer (Report Builder and SSRS).

Le intestazioni e i piè di pagina contengono in genere numeri di pagina, titoli del report e altre proprietà del report.Headers and footers commonly contain page numbers, report titles, and other report properties. Per altre informazioni su come aggiungere questi elementi all'intestazione o piè di pagina, vedere Visualizzare i numeri di pagina o altre proprietà del report (Generatore report e SSRS).For more information about how to add these items to your report header or footer, see Display Page Numbers or Other Report Properties (Report Builder and SSRS).

In seguito alla creazione, l'intestazione o il piè di pagina viene visualizzato in ogni pagina del report.After you create a page header or footer, it is displayed on each report page. Per altre informazioni sull'esclusione delle intestazioni e dei piè di pagina nella prima e ultima pagina, vedere Nascondere un'intestazione o un piè di pagina nella prima o nell'ultima pagina (Generatore report e SSRS).For more information about how to suppress page headers and footers on the first and last pages, see Hide a Page Header or Footer on the First or Last Page (Report Builder and SSRS).

Nota

È possibile creare e modificare file di definizioni report impaginati (con estensione rdl) in Generatore report e in Progettazione report di SQL Server Data Tools.You can create and modify paginated report definition (.rdl) files in Report Builder and in Report Designer in SQL Server Data Tools. Ogni ambiente di creazione offre modalità differenti per creare, aprire e salvare report ed elementi correlati.Each authoring environment provides different ways to create, open, and save reports and related items.

Intestazioni e piè di pagina del reportReport Headers and Footers

Le intestazioni e i piè di pagina delle pagine e dei report sono differenti.Page headers and footers are not the same as report headers and footers. I report non dispongono di un'area speciale per le intestazioni o i piè di pagina.Reports do not have a special report header or report footer area. L'intestazione di un report è costituita dagli elementi del report posizionati all'inizio del corpo del report nella relativa area di progettazione.A report header consists of the report items that are placed at the top of the report body on the report design surface. Tali elementi vengono visualizzati una sola volta come primo contenuto del report.They appear only once as the first content in the report. Il piè di pagina di un report è costituito dagli elementi del report posizionati nella parte inferiore del corpo del report.A report footer consists of report items that are placed at the bottom of the report body. Tali elementi vengono visualizzati una sola volta come ultimo contenuto del report.They appear only once as the last content in the report.

Le intestazioni e i piè di pagina possono includere contenuto statico, ma vengono più frequentemente utilizzati per visualizzare contenuto variabile, ad esempio numeri di pagina o informazioni sul contenuto di una pagina.Page headers and footers can contain static content, but they are more commonly used to display varying content like page numbers or information about the contents of a page. Per visualizzare dati variabili diversi per ogni pagina, è necessario specificare un'espressione.To display variable data that is different on each page, you must use an expression.

Se nel report è definito un solo set di dati, è possibile aggiungere espressioni semplici come [FieldName] a un'intestazione o a un piè di pagina.If there is only one dataset defined in the report, you can add simple expressions such as [FieldName] to a page header or footer. Trascinare il campo dalla raccolta di campi del set di dati del riquadro dei dati del report o dalla raccolta Campi predefiniti nell'intestazione o nel piè di pagina.Drag the field from the Report Data pane dataset field collection or the Built-in Fields collection to the page header or page footer. Verrà automaticamente aggiunta una casella di testo con l'espressione appropriata.A text box with the appropriate expression is automatically added for you.

Per calcolare le somme o le altre aggregazioni per i valori nella pagina, è possibile utilizzare espressioni di aggregazione che specificano ReportItems o il nome di un set di dati.To calculate sums or other aggregates for values on the page, you can use aggregate expressions that specify ReportItems or the name of a dataset. La raccolta ReportItems è la raccolta di caselle di testo inclusa in ogni pagina dopo l'esecuzione del rendering del report.The ReportItems collection is the collection of text boxes on each page after report rendering occurs. Nella definizione del report è necessario che sia presente il nome del set di dati.The dataset name must exist in the report definition. Nella tabella seguente sono riportati gli elementi supportati in ogni tipo di espressione di aggregazione:The following table displays which items are supported in each type of aggregate expression:

Elementi supportati nell'espressioneSupported in expression Aggregazioni ReportItemsReportItems aggregates Aggregazioni Dataset (l'ambito deve essere il nome del set di dati)Dataset aggregates (scope must be name of dataset)
Caselle di testo nel corpo del reportText boxes in body of report Yes NoNo
&PageNumber&PageNumber Yes NoNo
&TotalPages&TotalPages Yes NoNo
Funzione di aggregazioneAggregate function Sì.Yes. Ad esempio,For example,

=First(ReportItems!TXT_LastName.Value)
Sì.Yes. Ad esempio,For example,

=Max(Quantity.Value,"DataSet1")
Raccolta Fields per gli elementi della paginaFields collection for items on the page Indirettamente.Indirectly. Ad esempio,For example,

=Sum(ReportItems!Textbox1.Value)
Sì.Yes. Ad esempio,For example,

=Sum(Fields!Quantity.Value,"DataSet1")
Immagine con associazione a datiData-bound image Indirettamente.Indirectly. Ad esempio, =ReportItems!TXT_Photo.ValueFor example, =ReportItems!TXT_Photo.Value Sì.Yes. Ad esempio,For example,

=First(Fields!Photo.Value,"DataSet1")

Nelle sezioni seguenti di questo argomento vengono illustrate alcune espressioni già esistenti per il recupero dei dati variabili comunemente utilizzati nelle intestazioni e nei piè di pagina.The following sections in this topic show ready-to-use expressions that get variable data commonly used in headers and footers. In una sezione viene inoltre indicato il modo in cui l'estensione per il rendering Excel elabora le intestazioni e i piè di pagina.There is also a section on how the Excel rendering extension processes headers and footers. Per altre informazioni sulle espressioni, vedere Espressioni (Generatore report e SSRS).For more information about expressions, see Expressions (Report Builder and SSRS).

Per alcuni report è utile includere nell'intestazione o nel piè di pagina di ogni report un valore calcolato, ad esempio il totale della somma per pagina se la pagina include valori numerici.For some reports, it is useful to include a calculated value in the header or footer of each report; for example, a per-page sum total if the page includes numeric values. Poiché non è possibile fare riferimento ai campi direttamente, l'espressione che si inserisce nell'intestazione o nel piè di pagina deve fare riferimento al nome dell'elemento del report, ad esempio una casella di testo, piuttosto che al campo dati:Because you cannot reference the fields directly, the expression that you put in the header or footer must reference the name of the report item (for example, a text box) rather than the data field:

=Sum(ReportItems!Textbox1.Value)

Se la casella di testo si trova in una tabella o in un elenco che contiene righe di dati ripetute, il valore visualizzato nell'intestazione o nel piè di pagina in fase di esecuzione è una somma di tutti i valori di tutti i dati dell'istanza TextBox1 nella tabella o nell'elenco relativo alla pagina corrente.If the text box is in a table or list that contains repeated rows of data, the value that appears in the header or footer at run time is a sum of all values of all TextBox1 instance data in the table or list for the current page.

Quando si esegue il calcolo dei totali della pagina, si potrebbero notare differenze nei totali quando si utilizzano estensioni per il rendering diverse per visualizzare il report.When calculating page totals, you can expect to see differences in the totals when you use different rendering extensions to view the report. L'output impaginato viene calcolato in maniera diversa per ogni estensione per il rendering.Paginated output is calculated differently for each rendering extension. La stessa pagina visualizzata in formato HTML potrebbe indicare totali diversi quando viene visualizzata in formato PDF, se il totale dei dati nella pagina PDF è diverso.The same page that you view in HTML might show different totals when viewed in PDF if the amount of data on the PDF page is different. Per altre informazioni, vedere Tipi di rendering (Generatore report e SSRS ).For more information, see Rendering Behaviors (Report Builder and SSRS).

Per i report con più set di datiFor Reports with Multiple Datasets

Per i report con più set di dati, non è possibile aggiungere direttamente campi o immagini con associazione a dati a un'intestazione o un piè di pagina.For reports with more than one dataset, you cannot add fields or data-bound images directly to a header or footer. È tuttavia possibile scrivere un'espressione che faccia indirettamente riferimento a un campo o un'immagine con associazione a dati che si desidera utilizzare in un'intestazione o in un piè di pagina.However, you can write an expression that indirectly references a field or data-bound image that you want to use in a header or footer.

Per inserire dati variabili in un'intestazione o in un piè di pagina, eseguire la procedura seguente:To put variable data in a header or footer:

  • Aggiungere una casella di testo all'intestazione o al piè di pagina.Add a text box to the header or footer.

  • Nella casella di testo scrivere un'espressione che genera i dati variabili che si desidera visualizzare.In the text box, write an expression that produces the variable data that you want to appear.

  • Nell'espressione includere i riferimenti agli elementi del report nella pagina. È possibile ad esempio fare riferimento a una casella di testo che contiene i dati provenienti da un determinato campo.In the expression, include references to report items on the page; for example, you can reference a text box that contains data from a particular field. Non includere un riferimento diretto ai campi in un set di dati.Do not include a direct reference to fields in a dataset. Non è possibile ad esempio usare l'espressione [LastName].For example, you cannot use the expression [LastName]. È invece possibile utilizzare l'espressione seguente per visualizzare il contenuto della prima istanza di una casella di testo denominata TXT_LastName:You can use the following expression to display the contents of the first instance of a text box named TXT_LastName:

    =First(ReportItems!TXT_LastName.Value)

    Non è possibile utilizzare funzioni di aggregazione per i campi presenti nell'intestazione o nel piè di pagina.You cannot use aggregate functions on fields in the page header or footer. È consentita solo la specifica di una funzione di aggregazione sugli elementi del report contenuti nel corpo del report.You can only use an aggregate function on report items in the report body. Per le espressioni comuni nelle intestazioni e nei piè di pagina, vedere Esempi di espressioni (Generatore report e SSRS).For common expressions in page headers and footers, see Expression Examples (Report Builder and SSRS).

In un'intestazione o in un piè di pagina è possibile utilizzare i dati delle immagini archiviati in un database.You can use image data stored in a database in a header or footer. Non è tuttavia possibile fare riferimento ai campi di un database direttamente da un elemento del report Immagine.However, you cannot reference database fields from the Image report item directly. È invece necessario aggiungere una casella di testo al corpo del report e quindi impostare tale casella sul campo dati che contiene l'immagine. Si noti che il valore deve avere la codifica Base64.Instead, you must add a text box in the body of the report and then set the text box to the data field that contains the image (note that the value must be base64 encoded). È possibile nascondere la casella di testo nel corpo del report per evitare di visualizzare l'immagine con codifica Base64.You can hide the text box in the body of the report to avoid showing the base64-encoded image. È quindi possibile fare riferimento al valore della casella di testo nascosta tramite l'elemento del report Immagine nell'intestazione o nel piè di pagina.Then, you can reference the value of the hidden text box from the Image report item in the page header or footer.

Si supponga ad esempio che un report sia costituito da pagine di informazioni sul prodottoFor example, suppose you have a report that consists of product information pages. e che si desideri visualizzare una fotografia del prodotto nell'intestazione di ogni pagina.In the header of each page, you want to display a photograph of the product. Per stampare un'immagine archiviata nell'intestazione del report, definire una casella di testo nascosta denominata TXT_Photo nel corpo del report che recupera l'immagine dal database e usa un'espressione per attribuirle un valore:To print a stored image in the report header, define a hidden text box named TXT_Photo in the body of the report that retrieves the image from the database and use an expression to give it a value:

=Convert.ToBase64String(Fields!Photo.Value)

Nell'intestazione aggiungere un elemento del report Immagine che usa la casella di testo TXT_Photo decodificata per visualizzare l'immagine:In the header, add an Image report item which uses the TXT_Photo text box, decoded to show the image:

=Convert.FromBase64String(ReportItems!TXT_Photo.Value)

Utilizzo di intestazioni e piè di pagina per posizionare il testoUsing Headers and Footers to Position Text

È possibile utilizzare le intestazioni e i piè di pagina per posizionare il testo in una pagina.You can use headers and footers to position text on a page. Si supponga ad esempio di voler creare un report da inviare ai clienti.For example, suppose you are creating a report that you want to mail out to customers. È possibile utilizzare l'intestazione o il piè di pagina per posizionare l'indirizzo del cliente in modo che sia visibile dalla finestra una volta inserito nella busta.You can use a header or footer to position the customer address so that it appears in an envelope window when folded.

Se si utilizza la casella di testo solo per popolare un'intestazione o un piè di pagina, è possibile nasconderla nel corpo del report.If you are only using the text box to populate a header or footer, you can hide the text box in the report body. La posizione della casella di testo nel corpo del report può determinare se il valore viene visualizzato nell'intestazione o nel piè di pagina della prima o dell'ultima pagina di un report.Placement of the text box in the report body can have an effect on whether the value appears on the header or footer of the first or last page of a report. Se ad esempio vi sono tabelle, matrici o elenchi che determinano l'estensione del report su più pagine, il valore della casella di testo nascosta viene visualizzato nell'ultima pagina.For example, if you have tables, matrices, or lists that cause the report to span multiple pages, the hidden text box value appears on the last page. Se si desidera visualizzare tale valore nella prima pagina, posizionare la casella di testo nascosta nella parte superiore del corpo del report.If you want it to appear on the first page, place the hidden text box at the top of the report body.

Progettazione di report con intestazioni e piè di pagina per renderer specificiDesigning Reports with Page Headers and Footers for Specific Renderers

Durante l'elaborazione di un report, le informazioni sui relativi dati ed elementi di layout vengono combinate.When a report is processed, data and layout information are combined. Quando si visualizza un report, le informazioni combinate vengono passate a un renderer che determina la quantità di dati che è possibile inserire in ogni pagina del report.When you view a report, the combined information is passed to a renderer that determines how much report data fits on each report page.

Se si visualizza un report sul server di report utilizzando un browser, il renderer HTML controlla il contenuto nelle pagine del report visualizzate.If you view a report on the report server using a browser, the HTML renderer controls the content on the report pages that you see. Se si intende recapitare i report in un formato diverso da quello utilizzato per la visualizzazione o si intende stampare i report in un formato specifico, potrebbe essere necessario ottimizzare il layout del report per il renderer che verrà utilizzato per il formato del report finale.If you plan to deliver reports in a different format than you use for viewing, or if you plan to print reports in a specific format, you may want to optimize the report layout for the renderer you plan to use for the final report format. Per altre informazioni sulla paginazione dei report, vedere Paginazione in Reporting Services (Generatore report e SSRS).For more information about report pagination, see Pagination in Reporting Services (Report Builder and SSRS).

Utilizzo delle intestazioni e dei piè di pagina in ExcelWorking with Page Headers and Footers in Excel

Per ottenere risultati migliori quando si definiscono le intestazioni e i piè di pagina per i report che utilizzano l'estensione per il rendering Excel, attenersi alle linee guida seguenti:When defining page headers and footers for reports that target the Excel rendering extension, follow these guidelines to achieve best results:

  • Utilizzare i piè di pagina per visualizzare i numeri di pagina.Use page footers to display page numbers.

  • Utilizzare le intestazioni di pagina per visualizzare immagini, titoli o altro testo.Use page headers to display images, titles, or other text. Non inserire i numeri di pagina nell'intestazione di pagina.Do not put page numbers in the header.

    In Excel i piè di pagina hanno un layout limitato.In Excel, page footers have a limited layout. Se si definisce un report che include elementi complessi del report all'interno del piè di pagina, quest'ultimo non verrà eseguito come previsto quando il report viene visualizzato in formato Excel.If you define a report that includes complex report items in the page footer, the page footer won't process as you expect when the report is viewed in Excel.

    L'estensione per il rendering Excel consente di adattare le immagini e il posizionamento assoluto di elementi semplici o complessi del report nell'intestazione di pagina.The Excel rendering extension can accommodate images and absolute positioning of simple or complex report items in the page header. Un effetto collaterale del supporto di un layout più completo per l'intestazione di pagina è rappresentato da un supporto ridotto per il calcolo dei numeri di pagina nell'intestazione.A side effect of supporting a richer page header layout is reduced support for calculating page numbers in the header. Nell'estensione per il rendering Excel le impostazioni predefinite determinano il calcolo dei numeri di pagina in base al numero dei fogli di lavoro.In the Excel rendering extension, default settings cause page numbers to be calculated based on the number of worksheets. In base a come viene definito il report, questo potrebbe dare luogo a numeri di pagina errati.Depending on how you define the report, this might produce erroneous page numbers. Si supponga ad esempio che un report venga visualizzato come un singolo, grande foglio di lavoro stampato su quattro pagine.For example, suppose you have a report that renders as a single large worksheet that prints on four pages. Se si includono le informazioni relative al numero di pagina nell'intestazione di pagina, nell'intestazione di ogni pagina stampata verrà visualizzata la scritta "Pagina 1 di 1".If you include page number information in the header, each printed page will show "Page 1 of 1" in the header.

    Per un calcolo più preciso delle pagine ci si basa sulle pagine logiche correlate alle dimensioni di una pagina stampata.A more accurate page count is based on logical pages that correlate to the dimensions of a printed page. Nel piè di pagina di Excel viene utilizzato automaticamente il numero di pagine logiche.In Excel, the page footer uses logical page numbers automatically. Per inserire il conteggio delle pagine logiche nell'intestazione di pagina, è necessario configurare le impostazioni per le informazioni sul dispositivo sull'utilizzo di intestazioni semplici.To put the logical page count in the page header, you must configure the device information settings to use simple headers. Si tenga presente che quando si utilizzano intestazioni semplici, non è più possibile gestire layout di report complessi nell'area dell'intestazione.Be aware that when you use simple headers, you remove the capability of handling complex report layout in the header region.

    Per altre informazioni, vedere Esportazione in Microsoft Excel (Generatore report e SSRS).For more information, see Exporting to Microsoft Excel (Report Builder and SSRS).

Vedere ancheSee Also

Incorporare un'immagine in un Report ( Generatore report e SSRS ) Embed an Image in a Report (Report Builder and SSRS)
Rettangoli e linee ( Generatore report e SSRS )Rectangles and Lines (Report Builder and SSRS)