Автоматическое заполнение данными интеллектуальных маркеров на других рабочих листах, если данные слишком велики

Возможные сценарии использования

Иногда вы хотите автоматически заполнять данные интеллектуального маркера на других листах, если они слишком велики. Предположим, ваш источник данных имеет 1500000 записей. Это слишком много записей для одного рабочего листа, тогда вы можете переместить остальные записи на следующий рабочий лист.

Автоматически заполнять данные интеллектуальных маркеров на других рабочих листах, если данные слишком велики

В следующем примере кода есть источник данных с 21 записью. Мы хотим отображать только 15 записей на одном рабочем листе, тогда остальные записи автоматически переместятся на второй рабочий лист. Обратите внимание, что второй рабочий лист также должен иметь тот же тег смарт-маркера, и вы должны вызватьWorkbookDesigner.Process(sheetIndex, isPreserved) метод для обоих листов. Пожалуйста, смотритевыходной файл Excel генерируется кодом для ссылки.

Образец кода

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