Muchas veces el usuario solicitará el envio directo de informacion a Excel con algunas operaciones etc.
Para ello utilizaremos el siguiente código.
01 static void export2xls(Args _args)
02 {
03 AddressCountryRegion addressCountryRegion;
04 SysExcelApplication application;
05 SysExcelWorkbooks workbooks;
06 SysExcelWorkbook workbook;
07 SysExcelWorksheets worksheets;
08 SysExcelWorksheet worksheet;
09 SysExcelCells cells;
10 SysExcelCell cell;
11 int row;
12
13 ;
14
15 application = SysExcelApplication::construct();
16
17 workbooks = application.workbooks();
18
19 workbook = workbooks.add();
20
21 worksheets = workbook.worksheets();
22
23
24 worksheet = worksheets.itemFromNum(1);
25
26 worksheet.name("Datos");
27
28 cells = worksheet.cells();
29 cells.range('A:A').numberFormat('@');
30
31 cell = cells.item(1,1);
32 cell.value("Id");
33
34 cell = cells.item(1,2);
35 cell.value("Nombre");
36
37 cell = cells.item(1,3);
38 cell.value("Tipo");
39
40 row = 2;
41 while select * from addressCountryRegion
42 {
43
44 cell = cells.item(row, 1);
45 cell.value(addressCountryRegion.CountryRegionId);
46
47 cell = cells.item(row, 2);
48 cell.value(addressCountryRegion.Name);
49
50 cell = cells.item(row, 3);
51 cell.value(enum2str(addressCountryRegion.type));
52
53 row++;
54
55
56 }
57 application.visible(true);
58 application.activeSheet().columns().autoFit();
59
60
61
62 }
De la línea 3 a la 24 se declaran los objetos necesarios, en la línea 26 colocaremos el nombre 'Datos' a la Hoja de Excel, en la línea 29 colocamos el formato texto al rango A:A.
Las líneas 28 a la 38 nos ayudan a crear los encabezados de la tabla, mientras que el ciclo nos ayuda a meter los datos de la tabla AddressCountryRegion dentro del cuerpo de la tabla definida para obtener el siguiente resultado:
la línea 58 hace que el ancho de las columnas se ajuste automáticamente.
No comments:
Post a Comment