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"); |