Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
スライサーの更新とは、スライサーが接続されているピボットテーブルまたはテーブルのデータをフィルター処理することを意味します。Microsoft Excelでスライサーのアイテムを選択または選択解除すると、リンクされたピボットテーブルまたはテーブルがそれに応じて再計算されます。Aspose.Cells for Go via C++では、スライサーキャッシュアイテムを反復処理してスライサーを手動でリフレッシュする必要はありません。Slicer.SelectItems(labels, append)メソッドがスライサーを更新し、フィルターアイテムから直接、リンクされたピボットテーブルまたはテーブルを再計算します:
Slicer.SelectItems(labels, append) — 指定されたラベルを選択し、リンクされたピボットテーブルまたはテーブルを再計算します。appendがtrueの場合は元々選択されていたラベルが保持され、指定されたラベルが選択に追加されます。appendがfalseの場合は元の選択がすべてクリアされ、指定されたラベルのみが選択された状態になります。Slicer.UnselectItems(labels) — 現在選択されているアイテムの一部を選択解除します。Slicer.ClearFilter() — フィルターを解除してすべてのアイテムを選択します。SlicerCacheItem.Selectedプロパティは読み取り専用になり、そのセッターはサポートされなくなります。SlicerCacheItem.Selectedをアイテムごとに設定する代わりに、Slicer.SelectItems、Slicer.UnselectItems、Slicer.ClearFilterメソッドを使用してください。
次のサンプルコードは、ピボットテーブルに接続された既存のスライサーを含むサンプルExcelファイルを読み込みます。Slicer.SelectItems(labels, false)を使用してスライサーの"Blue"と"Pink"のアイテムのみを選択すると、ピボットテーブルはフィルターアイテムから直接再計算され、手動でのSlicer.Refresh()の呼び出しは不要です。その後、ワークブックを出力Excelファイルとして保存します。次のスクリーンショットは、サンプルコードがサンプルExcelファイルに与える影響を示しています。スクリーンショットでわかるように、ピボットテーブルにはフィルターされたアイテムのみが表示されます。
現在の選択を置き換え(指定されたラベルのみが選択された状態になります)、リンクされたピボットテーブルまたはテーブルを再計算します:
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!")
}
現在選択されているラベルを保持したまま、さらにアイテムを選択します:
// Keep the current selection and add "Red" to it.
slicer.SelectItems([]string{ "Red" }, true)
選択されたアイテムの一部を選択解除します:
// Remove "Pink" from the current selection.
slicer.UnselectItems([]string{ "Pink" })
フィルターを解除します(すべてのアイテムを選択します):
// Clear the filter; all slicer items become selected again.
slicer.ClearFilter()
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.