//create a new workbook var workbook = new GrapeCity.Documents.Excel.Workbook(); IWorksheet worksheet = workbook.Worksheets[0]; object[,] sourceData = new object[,] { { "Order ID", "Product", "Category", "Amount", "Date", "Country" }, { 1, "Carrots", "Vegetables", 4270, new DateTime(2018, 1, 6), "United States" }, { 2, "Broccoli", "Vegetables", 8239, new DateTime(2018, 1, 7), "United Kingdom" }, { 3, "Banana", "Fruit", 617, new DateTime(2018, 1, 8), "United States" }, { 4, "Banana", "Fruit", 8384, new DateTime(2018, 1, 10), "Canada" }, { 5, "Beans", "Vegetables", 2626, new DateTime(2018, 1, 10), "Germany" }, { 6, "Orange", "Fruit", 3610, new DateTime(2018, 1, 11), "United States" }, { 7, "Broccoli", "Vegetables", 9062, new DateTime(2018, 1, 11), "Australia" }, { 8, "Banana", "Fruit", 6906, new DateTime(2018, 1, 16), "New Zealand" }, { 9, "Apple", "Fruit", 2417, new DateTime(2018, 1, 16), "France" }, { 10, "Apple", "Fruit", 7431, new DateTime(2018, 1, 16), "Canada" }, { 11, "Banana", "Fruit", 8250, new DateTime(2018, 1, 16), "Germany" }, { 12, "Broccoli", "Vegetables", 7012, new DateTime(2018, 1, 18), "United States" }, { 13, "Carrots", "Vegetables", 1903, new DateTime(2018, 1, 20), "Germany" }, { 14, "Broccoli", "Vegetables", 2824, new DateTime(2018, 1, 22), "Canada" }, { 15, "Apple", "Fruit", 6946, new DateTime(2018, 1, 24), "France" }, }; worksheet.Range["A:F"].ColumnWidth = 15; worksheet.Range["A1:F16"].Value = sourceData; ITable table = worksheet.Tables.Add(worksheet.Range["A1:F16"], true); table.Columns[3].DataBodyRange.NumberFormat = "$#,##0.00"; //Create slicer cache for table. ISlicerCache cache = workbook.SlicerCaches.Add(table, "Category", "categoryCache"); //Add slicer, slicer's range is Range["H3:J16"] ISlicer slicer = cache.Slicers.Add(workbook.Worksheets["Sheet1"], "cate1", "Category", 30, 550, 100, 200); //Range["H3:J16"] must contain slicer's range, copy a new shape to Range["K3:M16"] worksheet.Range["H3:J16"].Copy(worksheet.Range["K3"]); //worksheet.Range["H3:J16"].Copy(worksheet.Range["K3:M16"]); //Cross sheet copy, copy a new shape to worksheet2's Range["K3:M16"] //IWorksheet worksheet2 = workbook.Worksheets.Add() //worksheet.Range["H3:J16"].Copy(worksheet2.Range["K3"]); //worksheet.Range["H3:J16"].Copy(worksheet2.Range["K3:M16"]); // Save to an excel file workbook.Save("SlicerCopy.xlsx");
' Create a new Workbook Dim workbook As New Workbook Dim worksheet As IWorksheet = workbook.Worksheets(0) Dim sourceData As Object(,) = { {"Order ID", "Product", "Category", "Amount", "Date", "Country"}, {1, "Carrots", "Vegetables", 4270, #1/6/2018#, "United States"}, {2, "Broccoli", "Vegetables", 8239, #1/7/2018#, "United Kingdom"}, {3, "Banana", "Fruit", 617, #1/8/2018#, "United States"}, {4, "Banana", "Fruit", 8384, #1/10/2018#, "Canada"}, {5, "Beans", "Vegetables", 2626, #1/10/2018#, "Germany"}, {6, "Orange", "Fruit", 3610, #1/11/2018#, "United States"}, {7, "Broccoli", "Vegetables", 9062, #1/11/2018#, "Australia"}, {8, "Banana", "Fruit", 6906, #1/16/2018#, "New Zealand"}, {9, "Apple", "Fruit", 2417, #1/16/2018#, "France"}, {10, "Apple", "Fruit", 7431, #1/16/2018#, "Canada"}, {11, "Banana", "Fruit", 8250, #1/16/2018#, "Germany"}, {12, "Broccoli", "Vegetables", 7012, #1/18/2018#, "United States"}, {13, "Carrots", "Vegetables", 1903, #1/20/2018#, "Germany"}, {14, "Broccoli", "Vegetables", 2824, #1/22/2018#, "Canada"}, {15, "Apple", "Fruit", 6946, #1/24/2018#, "France"} } worksheet.Range("A:F").ColumnWidth = 15 worksheet.Range("A1:F16").Value = sourceData Dim table As ITable = worksheet.Tables.Add(worksheet.Range("A1:F16"), True) table.Columns(3).DataBodyRange.NumberFormat = "$#,##0.00" 'Create slicer cache for table. Dim cache As ISlicerCache = workbook.SlicerCaches.Add(table, "Category", "categoryCache") 'Add slicer, slicer's range is Range("H3:J16") Dim slicer As ISlicer = cache.Slicers.Add(workbook.Worksheets("Sheet1"), "cate1", "Category", 30, 550, 100, 200) 'Range("H3:J16") must contain slicer's range, copy a new shape to Range("K3:M16") worksheet.Range("H3:J16").Copy(worksheet.Range!K3) 'worksheet.Range("H3:J16").Copy(worksheet.Range("K3:M16")) 'Cross sheet copy, copy a new shape to worksheet2's Range("K3:M16") 'Dim worksheet2 As IWorksheet = workbook.Worksheets.Add() 'worksheet.Range("H3:J16").Copy(worksheet2.Range!K3) 'worksheet.Range("H3:J16").Copy(worksheet2.Range("K3:M16")) ' save to an excel file workbook.Save("SlicerCopy.xlsx")