[]
        
(Showing Draft Content)

Add Slicer in Table

You can add slicers in tables and pivot tables using the methods of the ISlicer interface, ISlicerCache interface, and ISlicerCaches interface.

The add method of the ISlicerCaches interface allows users to create a new slicer cache for a table.

Refer to the following example code to add slicer in a table.

// Defining source data
Object sourceData = new Object[][] 
{ 
   { "Order ID", "Product", "Category", "Amount", "Date", "Country" },
   { 1, "Carrots", "Vegetables", 4270, new GregorianCalendar(2018, 0, 6), "United States" },
   { 2, "Broccoli", "Vegetables", 8239, new GregorianCalendar(2018, 0, 7), "United Kingdom" },
   { 3, "Banana", "Fruit", 617, new GregorianCalendar(2018, 0, 8), "United States" },
   { 4, "Banana", "Fruit", 8384, new GregorianCalendar(2018, 0, 10), "Canada" },
   { 5, "Beans", "Vegetables", 2626, new GregorianCalendar(2018, 0, 10), "Germany" },
   { 6, "Orange", "Fruit", 3610, new GregorianCalendar(2018, 0, 11), "United States" },
   { 7, "Broccoli", "Vegetables", 9062, new GregorianCalendar(2018, 0, 11), "Australia" },
   { 8, "Banana", "Fruit", 6906, new GregorianCalendar(2018, 0, 16), "New Zealand" },
   { 9, "Apple", "Fruit", 2417, new GregorianCalendar(2018, 0, 16), "France" },
   { 10, "Apple", "Fruit", 7431, new GregorianCalendar(2018, 0, 16), "Canada" },
   { 11, "Banana", "Fruit", 8250, new GregorianCalendar(2018, 0, 16), "Germany" },
   { 12, "Broccoli", "Vegetables", 7012, new GregorianCalendar(2018, 0, 18), "United States" },
   { 13, "Carrots", "Vegetables", 1903, new GregorianCalendar(2018, 0, 20), "Germany" },
   { 14, "Broccoli", "Vegetables", 2824, new GregorianCalendar(2018, 0, 22), "Canada" },
   { 15, "Apple", "Fruit", 6946, new GregorianCalendar(2018, 0, 24), "France" }, 
};
        
// Initialize the workbook and fetch the default worksheet
IWorksheet worksheet = workbook.getWorksheets().get(0);
worksheet.getRange("A:F").setColumnWidth(15);
        
// Adding data to the table
worksheet.getRange("A1:F16").setValue(sourceData);
ITable table = worksheet.getTables().add(worksheet.getRange("A1:F16"), true);
table.getColumns().get(3).getDataBodyRange().setNumberFormat("$#,##0.00");

// Create slicer cache for table.
ISlicerCache cache = workbook.getSlicerCaches().add(table, "Category", "categoryCache");

// Add slicers for table 
ISlicer slicer1 = cache.getSlicers().add(workbook.getWorksheets().get("Sheet1"), "cate1", 
"Category", 30, 550, 100, 200);
ISlicer slicer2 = cache.getSlicers().add(workbook.getWorksheets().get("Sheet1"), "cate2", 
"Category", 30, 700, 100, 200);

type=note

Note: DsExcel supports .xlsx, .sjs, and .ssjson file I/O operations, as well as PDF and image export of documents having timeline slicer and its data.