Automatiskt fylla i Smart Marker data till andra kalkylblad om datan är för stor

Möjliga användningsscenario

Ibland vill du automatiskt fylla i smartmarker-data till andra kalkylblad om den är för stor. Antag att din datakälla har 1500000 poster. Dessa är för många poster för ett enda kalkylblad, då kan du flytta resten av posterna till nästa kalkylblad. 

Autofyll Smart Marker-data till andra kalkylblad om datan är för stor

Följande exempelkod har en datakälla som har 21 poster. Vi vill visa endast 15 poster i ett kalkylblad, då kommer resten av posterna automatiskt att flyttas till det andra kalkylbladet. Observera, det andra kalkylbladet ska också ha samma smartmärkestag och du måste ringa WorkbookDesigner.Process(sheetIndex, isPreserved) metoden för båda ark. Se den utmatade Excelfilen som genererats av koden som referens.

Exempelkod

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
//Create employees data table
DataTable dt = new DataTable("Employees");
dt.Columns.Add("EmployeeID", typeof(int));
//Add rows inside the data table
dt.Rows.Add(1230);
dt.Rows.Add(1231);
dt.Rows.Add(1232);
dt.Rows.Add(1233);
dt.Rows.Add(1234);
dt.Rows.Add(1235);
dt.Rows.Add(1236);
dt.Rows.Add(1237);
dt.Rows.Add(1238);
dt.Rows.Add(1239);
dt.Rows.Add(1240);
dt.Rows.Add(1241);
dt.Rows.Add(1242);
dt.Rows.Add(1243);
dt.Rows.Add(1244);
dt.Rows.Add(1245);
dt.Rows.Add(1246);
dt.Rows.Add(1247);
dt.Rows.Add(1248);
dt.Rows.Add(1249);
dt.Rows.Add(1250);
//Create data reader from data table
DataTableReader dtReader = dt.CreateDataReader();
//Create empty workbook
Workbook wb = new Workbook();
//Access first worksheet and add smart marker in cell A1
Worksheet ws = wb.Worksheets[0];
ws.Cells["A1"].PutValue("&=Employees.EmployeeID");
//Add second worksheet and add smart marker in cell A1
wb.Worksheets.Add();
ws = wb.Worksheets[1];
ws.Cells["A1"].PutValue("&=Employees.EmployeeID");
//Create workbook designer
WorkbookDesigner wd = new WorkbookDesigner(wb);
//Set data source with data reader
wd.SetDataSource("Employees", dtReader, 15);
//Process smart marker tags in first and second worksheet
wd.Process(0, false);
wd.Process(1, false);
//Save the workbook
wb.Save("outputAutoPopulateSmartMarkerDataToOtherWorksheets.xlsx");