{"id":1593,"date":"2023-12-27T08:00:31","date_gmt":"2023-12-27T07:00:31","guid":{"rendered":"http:\/\/192.168.20.3\/?p=1593"},"modified":"2024-12-09T16:15:29","modified_gmt":"2024-12-09T15:15:29","slug":"carga-y-mapeos-de-ficheros-excel-en-sapui5","status":"publish","type":"post","link":"https:\/\/orekait.com\/es\/carga-y-mapeos-de-ficheros-excel-en-sapui5\/","title":{"rendered":"Carga y mapeos de ficheros Excel en SAPUI5<br> <span class=\"font-300\"><\/span>"},"content":{"rendered":"<p>[et_pb_section fb_built=&#8221;1&#8243; admin_label=&#8221;section&#8221; _builder_version=&#8221;4.16&#8243; global_colors_info=&#8221;{}&#8221;][et_pb_row admin_label=&#8221;Imagen principal&#8221; _builder_version=&#8221;4.16&#8243; background_size=&#8221;initial&#8221; background_position=&#8221;top_left&#8221; background_repeat=&#8221;repeat&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.16&#8243; custom_padding=&#8221;|||&#8221; global_colors_info=&#8221;{}&#8221; custom_padding__hover=&#8221;|||&#8221;][et_pb_image src=&#8221;https:\/\/orekait.com\/wp-content\/uploads\/2023\/12\/Sapui5.png&#8221; alt=&#8221;cloud-public&#8221; title_text=&#8221;Sapui5&#8243; admin_label=&#8221;Imagen principal&#8221; module_class=&#8221;post-img&#8221; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_image][\/et_pb_column][\/et_pb_row][et_pb_row admin_label=&#8221;Cuerpo&#8221; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_text admin_label=&#8221;Texto&#8221; _builder_version=&#8221;4.25.2&#8243; header_2_font_size=&#8221;24px&#8221; header_3_font_size=&#8221;20px&#8221; background_size=&#8221;initial&#8221; background_position=&#8221;top_left&#8221; background_repeat=&#8221;repeat&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<p>En este art\u00edculo hablaremos sobre c\u00f3mo cargar y mapear un fichero Excel en SAPUI5.<\/p>\n<p>Muchas veces nos interesa consumir documentos en formato Excel y visualizar los datos que contienen en nuestras aplicaciones FIORI, ya sea para visualizar y seleccionar los datos a cargar de una forma m\u00e1s sencilla o para automatizar un proceso de carga manual.<\/p>\n<p>A continuaci\u00f3n, se explicar\u00e1n los pasos a seguir para este fin.<\/p>\n<h2><strong>Creaci\u00f3n de elemento en la vista<\/strong><\/h2>\n<p>El primer paso para ello es tener nuestro elemento para poder acceder al explorador de archivos, para lo que utilizaremos la librer\u00eda\u00a0<em>xmlns unified<\/em>\u00a0de SAPUI5.<\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-1602 size-full\" src=\"https:\/\/orekait.com\/wp-content\/uploads\/2023\/12\/image02.png\" alt=\"\" width=\"708\" height=\"58\" srcset=\"https:\/\/orekait.com\/wp-content\/uploads\/2023\/12\/image02.png 708w, https:\/\/orekait.com\/wp-content\/uploads\/2023\/12\/image02-480x39.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 708px, 100vw\" \/><\/figure>\n<\/div>\n<p>&nbsp;<\/p>\n<p>En el atributo\u00a0<em>fileType\u00a0<\/em>del elemento<em>\u00a0FileUploader<\/em>\u00a0es donde podemos decirle qu\u00e9 tipos de archivos esperamos que se carguen, en este caso, los correspondientes a las diferentes versiones de Excel.<\/p>\n<p>Hay otros dos par\u00e1metros que ser\u00e1 necesario a\u00f1adir, uno contendr\u00e1 el nombre del archivo y ser\u00e1 del tipo<em>\u00a0Text<\/em>\u00a0y otro que contendr\u00e1 los datos de este que ser\u00e1 de tipo\u00a0<em>bar<\/em>.<\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-1606 size-full\" src=\"https:\/\/orekait.com\/wp-content\/uploads\/2023\/12\/image03.png\" alt=\"\" width=\"506\" height=\"102\" srcset=\"https:\/\/orekait.com\/wp-content\/uploads\/2023\/12\/image03.png 506w, https:\/\/orekait.com\/wp-content\/uploads\/2023\/12\/image03-480x97.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 506px, 100vw\" \/><\/figure>\n<\/div>\n<p>&nbsp;<\/p>\n<p>Por \u00faltimo, configuraremos los eventos\u00a0<strong><em>uploadComplete, typeMissmatch<\/em>\u00a0<\/strong>y<strong>\u00a0<em>change<\/em><\/strong>\u00a0del elemento\u00a0<em>FileUploader<\/em>.<\/p>\n<p>En el siguiente punto veremos c\u00f3mo configurarlos en nuestro controlador.<\/p>\n<h2><strong>Controlador:<\/strong><\/h2>\n<p>En el controlador de la vista hay que crear una funci\u00f3n por cada evento.<\/p>\n<ul>\n<li><strong><em>typeMissmatch<\/em>:\u00a0<\/strong>utilizamos este evento para comprobar que el tipo del fichero seleccionado coincide con los tipos establecidos en la propiedad<em>\u00a0fileType<\/em>. Configuramos la funci\u00f3n de manera que recorramos los tipos de archivo que habremos configurado en el atributo\u00a0<em>fileType.\u00a0<\/em>Recogeremos esta propiedad desde el evento de la funci\u00f3n.\u00a0<em>oEvent.getSource().getFileType();<\/em><\/li>\n<\/ul>\n<ul>\n<li>Cuando el valor del input cambie se activara el evento\u00a0<strong><em>Change<\/em>\u00a0<\/strong>que nos a\u00f1adir\u00e1 el documento a la variable<em>:\u00a0 sap.ui.getCore()._file\u00a0<\/em>\u00a0desde el par\u00e1metro\u00a0<em>files\u00a0<\/em>del evento.<\/li>\n<\/ul>\n<ul>\n<li>Una vez finalizada la carga del documento se activa el evento\u00a0<strong><em>uploadComplete<\/em>\u00a0<\/strong>que verificar\u00e1 y nos confirmar\u00e1 el \u00e9xito de la carga.<\/li>\n<\/ul>\n<h2><strong>Utilizaci\u00f3n y lectura del documento<\/strong><\/h2>\n<ol type=\"1\">\n<li>Llamamos a la funci\u00f3n de lectura y creamos un JSON con los datos de cada hoja de nuestro archivo Excel:<\/li>\n<\/ol>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-1610 size-full\" src=\"https:\/\/orekait.com\/wp-content\/uploads\/2023\/12\/image04.png\" alt=\"\" width=\"575\" height=\"713\" srcset=\"https:\/\/orekait.com\/wp-content\/uploads\/2023\/12\/image04.png 575w, https:\/\/orekait.com\/wp-content\/uploads\/2023\/12\/image04-480x595.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 575px, 100vw\" \/><\/figure>\n<\/div>\n<p>Se crear\u00e1 un archivo JSON como el siguiente, donde tendremos 3 niveles: Hoja, l\u00ednea y columna.<\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-1614 size-full\" src=\"https:\/\/orekait.com\/wp-content\/uploads\/2023\/12\/image06.png\" alt=\"\" width=\"708\" height=\"176\" srcset=\"https:\/\/orekait.com\/wp-content\/uploads\/2023\/12\/image06.png 708w, https:\/\/orekait.com\/wp-content\/uploads\/2023\/12\/image06-480x119.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 708px, 100vw\" \/><\/figure>\n<\/div>\n<ul>\n<li>Procesamos la Hoja.<\/li>\n<\/ul>\n<p>Para procesar la hoja recorreremos el JSON que hemos creado.<\/p>\n<p>Nuestro objetivo ser\u00e1 acceder a cada celda para obtener la informaci\u00f3n necesaria.<\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-1618 size-full\" src=\"https:\/\/orekait.com\/wp-content\/uploads\/2023\/12\/image07.png\" alt=\"\" width=\"1837\" height=\"255\" srcset=\"https:\/\/orekait.com\/wp-content\/uploads\/2023\/12\/image07.png 1837w, https:\/\/orekait.com\/wp-content\/uploads\/2023\/12\/image07-1280x178.png 1280w, https:\/\/orekait.com\/wp-content\/uploads\/2023\/12\/image07-980x136.png 980w, https:\/\/orekait.com\/wp-content\/uploads\/2023\/12\/image07-480x67.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1837px, 100vw\" \/><\/figure>\n<\/div>\n<p>Indicando la hoja, el n\u00famero de l\u00ednea y la columna podemos acceder al dato de la celda.<\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-1622 size-full\" src=\"https:\/\/orekait.com\/wp-content\/uploads\/2023\/12\/image10.png\" alt=\"\" width=\"241\" height=\"175\" \/><\/figure>\n<\/div>\n<p>&nbsp;<\/p>\n<p>Las columnas se nombrar\u00e1n con los nombres \u201c__EMPTY_numero de columna\u201d<\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-1626 size-full\" src=\"https:\/\/orekait.com\/wp-content\/uploads\/2023\/12\/image11.png\" alt=\"\" width=\"776\" height=\"205\" srcset=\"https:\/\/orekait.com\/wp-content\/uploads\/2023\/12\/image11.png 776w, https:\/\/orekait.com\/wp-content\/uploads\/2023\/12\/image11-480x127.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 776px, 100vw\" \/><\/figure>\n<\/div>\n<p>&nbsp;<\/p>\n<p>Hay que tener en cuenta que, as\u00ed como las columnas en blanco s\u00ed que se contabilizan para determinar el n\u00famero<em>\u00a0Empty<\/em>. Las l\u00edneas en blanco no, por tanto, tendremos tantas l\u00edneas contabilizadas como l\u00edneas tengamos con al menos una celda con dato.<\/p>\n<p>Una vez obtenemos los datos de cada celda, podremos utilizar estos como nos interese en nuestra aplicaci\u00f3n FIORI. Por ejemplo, podremos crear objetos con los diferentes datos y cargando un modelo JSON utilizarlo en una tabla.<\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-1630 size-full\" src=\"https:\/\/orekait.com\/wp-content\/uploads\/2023\/12\/image13.png\" alt=\"\" width=\"358\" height=\"75\" srcset=\"https:\/\/orekait.com\/wp-content\/uploads\/2023\/12\/image13.png 358w, https:\/\/orekait.com\/wp-content\/uploads\/2023\/12\/image13-300x63.png 300w\" sizes=\"auto, (max-width: 358px) 100vw, 358px\" \/><\/figure>\n<\/div>\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-1634 alignnone size-medium\" src=\"https:\/\/orekait.com\/wp-content\/uploads\/2023\/12\/image15-300x80.png\" alt=\"\" width=\"300\" height=\"80\" \/><\/figure>\n<p>&nbsp;<\/p>\n<p>Esperamos que este art\u00edculo te haya servido de ayuda. Si tienes alguna duda, puedes ponerte en contacto con el equipo de UX\/I por tel\u00e9fono:\u00a0<strong>945 067 219<\/strong>\u00a0o por email:\u00a0<strong>orekait@orekait.com<\/strong>.<\/p>\n<p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][et_pb_row admin_label=&#8221;M\u00e1s informaci\u00f3n&#8221; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_text _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<p class=\"morado\">M\u00e1s informaci\u00f3n:<\/p>\n<p>[\/et_pb_text][et_pb_button button_url=&#8221;https:\/\/orekait.com\/es\/area-personalizacion&#8221; button_text=&#8221;M\u00e1s informaci\u00f3n&#8221; module_class=&#8221;entrada-btn&#8221; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; custom_button=&#8221;on&#8221; button_text_color=&#8221;#8156EA&#8221; button_bg_color=&#8221;RGBA(255,255,255,0)&#8221; button_border_color=&#8221;#8156EA&#8221; button_border_radius=&#8221;30px&#8221; button_font=&#8221;Plus Jakarta Sans|600|||||||&#8221; button_icon=&#8221;&#x24;||divi||400&#8243; button_icon_color=&#8221;#8156EA&#8221; button_on_hover=&#8221;off&#8221; hover_enabled=&#8221;0&#8243; global_colors_info=&#8221;{}&#8221; button_text_color__hover_enabled=&#8221;on|desktop&#8221; button_text_color__hover=&#8221;#8156EA&#8221; button_bg_color__hover_enabled=&#8221;on|hover&#8221; button_bg_color__hover=&#8221;#8156EA&#8221; button_bg_enable_color__hover=&#8221;on&#8221; button_icon_color__hover_enabled=&#8221;on|hover&#8221; button_icon_color__hover=&#8221;#ffffff&#8221; url_new_window=&#8221;on&#8221; sticky_enabled=&#8221;0&#8243;][\/et_pb_button][et_pb_divider show_divider=&#8221;off&#8221; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; custom_margin=&#8221;||40px||false|false&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_divider][\/et_pb_column][\/et_pb_row][et_pb_row use_custom_gutter=&#8221;on&#8221; admin_label=&#8221;Noticias relacionadas titulo&#8221; module_id=&#8221;fondo-articulos&#8221; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; background_color=&#8221;#f7f7f7&#8243; width=&#8221;100%&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_divider show_divider=&#8221;off&#8221; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; background_color=&#8221;RGBA(255,255,255,0)&#8221; custom_margin=&#8221;||40px||false|false&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_divider][et_pb_heading title=&#8221;Quizas te pueda interesar&#8221; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; title_level=&#8221;h2&#8243; title_text_align=&#8221;center&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_heading][et_pb_divider show_divider=&#8221;off&#8221; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; custom_margin=&#8221;||30px||false|false&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_divider][\/et_pb_column][\/et_pb_row][et_pb_row admin_label=&#8221;Noticias relacionadas&#8221; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; width=&#8221;100%&#8221; custom_margin=&#8221;-150px||||false|false&#8221; custom_margin_tablet=&#8221;0px||||false|false&#8221; custom_margin_phone=&#8221;0px||||false|false&#8221; custom_margin_last_edited=&#8221;on|desktop&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_blog fullwidth=&#8221;off&#8221; posts_number=&#8221;3&#8243; include_categories=&#8221;current&#8221; show_author=&#8221;off&#8221; show_date=&#8221;off&#8221; show_pagination=&#8221;off&#8221; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_blog][\/et_pb_column][\/et_pb_row][\/et_pb_section]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>En este art\u00edculo hablaremos sobre c\u00f3mo cargar y mapear un fichero Excel en SAPUI5. Muchas veces nos interesa consumir documentos en formato Excel y visualizar los datos que contienen en nuestras aplicaciones FIORI, ya sea para visualizar y seleccionar los datos a cargar de una forma m\u00e1s sencilla o para automatizar un proceso de carga [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":1595,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"on","_et_pb_old_content":"Lorem ipsum dolor sit amet consectetur adipiscing elit congue montes, imperdiet taciti erat elementum fermentum sem ante ultrices ridiculus, sagittis sociis egestas quisque ac semper quis odio. Aenean hendrerit ac metus dis nascetur aliquet mollis integer, rutrum vel laoreet posuere proin sagittis luctus est, tempus duis nisl ultrices parturient tempor praesent. Dignissim curabitur nascetur pellentesque augue fringilla pulvinar eros, tempus fames vehicula maecenas cubilia id, rutrum euismod integer ut scelerisque mus.\r\n\r\nVivamus auctor odio aenean rhoncus natoque dictum purus, volutpat pellentesque laoreet ridiculus consequat nisi varius euismod, augue platea convallis curae magnis taciti. Imperdiet nibh curabitur quisque orci consequat aenean pellentesque, cubilia duis senectus felis sed posuere tortor, magnis enim diam a odio sociis. Enim tellus nisl nec molestie augue luctus tempor habitant, nunc dictumst phasellus volutpat sem facilisis taciti, habitasse laoreet at turpis vel fermentum vulputate.","_et_gb_content_width":"","footnotes":""},"categories":[53,52,51],"tags":[],"class_list":["post-1593","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-sap-fiori-ux","category-sapui5","category-user-experience-integracion"],"_links":{"self":[{"href":"https:\/\/orekait.com\/es\/wp-json\/wp\/v2\/posts\/1593","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/orekait.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/orekait.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/orekait.com\/es\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/orekait.com\/es\/wp-json\/wp\/v2\/comments?post=1593"}],"version-history":[{"count":13,"href":"https:\/\/orekait.com\/es\/wp-json\/wp\/v2\/posts\/1593\/revisions"}],"predecessor-version":[{"id":20718,"href":"https:\/\/orekait.com\/es\/wp-json\/wp\/v2\/posts\/1593\/revisions\/20718"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/orekait.com\/es\/wp-json\/wp\/v2\/media\/1595"}],"wp:attachment":[{"href":"https:\/\/orekait.com\/es\/wp-json\/wp\/v2\/media?parent=1593"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/orekait.com\/es\/wp-json\/wp\/v2\/categories?post=1593"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/orekait.com\/es\/wp-json\/wp\/v2\/tags?post=1593"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}