Aggiornamento dello slicer con Golang tramite C++

Possibili Scenari di Utilizzo

Aggiornare uno slicer significa filtrare i dati della Tabella Pivot o della tabella a cui lo slicer è collegato. Quando si selezionano o si deselezionano gli elementi dello slicer in Microsoft Excel, la Tabella Pivot o la tabella collegata viene ricalcolata di conseguenza. Con Aspose.Cells for Go via C++, non è necessario iterare gli elementi della cache dello slicer e aggiornare manualmente lo slicer — il metodo Slicer.SelectItems(labels, append) aggiorna lo slicer e ricalcola la Tabella Pivot o la tabella collegata direttamente dagli elementi del filtro:

  • Slicer.SelectItems(labels, append) — seleziona le etichette specificate e ricalcola la Tabella Pivot o la tabella collegata. Quando append è true, le etichette originariamente selezionate vengono mantenute e le etichette specificate vengono aggiunte alla selezione; quando append è false, tutte le selezioni originali vengono cancellate e solo le etichette specificate restano selezionate.
  • Slicer.UnselectItems(labels) — deseleziona parte degli elementi attualmente selezionati.
  • Slicer.ClearFilter() — rimuove il filtro e seleziona tutti gli elementi.

Come aggiornare lo slicer

Il seguente codice di esempio carica il file Excel di esempio che contiene uno slicer esistente collegato a una Tabella Pivot. Seleziona solo gli elementi “Blue” e “Pink” dello slicer con Slicer.SelectItems(labels, false) — la Tabella Pivot viene ricalcolata direttamente dagli elementi del filtro, senza una chiamata manuale a Slicer.Refresh(). Salva quindi la cartella di lavoro come file Excel di output. La schermata seguente mostra l’effetto del codice di esempio sul file Excel di esempio. Come puoi vedere nella schermata, la Tabella Pivot mostra solo gli elementi filtrati. todo:image_alt_text

Codice di Esempio

Sostituire la selezione corrente (restano selezionate solo le etichette specificate) e ricalcolare la Tabella Pivot o la tabella collegata:

package main

import (
    "fmt"

    . "github.com/aspose-cells/aspose-cells-go-cpp/v26"
)

func main() {
    // Load sample Excel file containing slicer.
    wb, _ := NewWorkbook_String("sampleUpdatingSlicer.xlsx")

    // Access first worksheet.
    wss, _ := wb.GetWorksheets()
    ws, _ := wss.Get_Int(0)

    // Access the first slicer inside the slicer collection.
    slicers, _ := ws.GetSlicers()
    slicer, _ := slicers.Get_Int(0)

    // Select only "Blue" and "Pink"; the linked pivot table or table
    // is recalculated directly from the filter items.
    slicer.SelectItems([]string{ "Blue", "Pink" }, false)

    // Save the modified workbook.
    wb.Save_String("out.xlsx")

    fmt.Println("Slicer updated and workbook saved successfully!")
}

Mantenere le etichette attualmente selezionate e selezionare ulteriori elementi:

// Keep the current selection and add "Red" to it.
slicer.SelectItems([]string{ "Red" }, true)

Deselezionare parte degli elementi selezionati:

// Remove "Pink" from the current selection.
slicer.UnselectItems([]string{ "Pink" })

Rimuovere il filtro (selezionare tutti gli elementi):

// Clear the filter; all slicer items become selected again.
slicer.ClearFilter()