EXCEL上傳得時候特殊情況

比如excel里面不全是我們需要的,還有一些需要處理EXCEL中的日期,去掉‘-’等

DATA:begin_row TYPE i VALUE '2',begin_col TYPE i VALUE '1',end_row   TYPE i VALUE '9999',end_col   TYPE i VALUE '90',filename  TYPE rlgrap-filename,gt_excel  TYPE zalsmex_tabline OCCURS 0 WITH HEADER LINE,gt_excel_copy  TYPE zalsmex_tabline OCCURS 0 WITH HEADER LINE,num       TYPE i,rt_col    TYPE RANGE OF kcd_ex_col_n,rs_col    LIKE LINE OF rt_col,_n_r      TYPE char2,_r        TYPE char1.FIELD-SYMBOLS <fs> .REFRESH:gt_gts_file_line_copy,gt_gts_file_line_2,gt_gts_file_line._n_r = cl_abap_char_utilities=>cr_lf._r = _n_r+1(1).rs_col-sign    = 'I'.rs_col-option  = 'EQ'.rs_col-low     = '0002'.APPEND rs_col TO rt_col.rs_col-low     = '0006'.APPEND rs_col TO rt_col.rs_col-low     = '0010'.APPEND rs_col TO rt_col.rs_col-low     = '0011'.APPEND rs_col TO rt_col.rs_col-low     = '0012'.APPEND rs_col TO rt_col.rs_col-low     = '0013'.APPEND rs_col TO rt_col.rs_col-low     = '0014'.APPEND rs_col TO rt_col.rs_col-low     = '0015'.APPEND rs_col TO rt_col.rs_col-low     = '0016'.APPEND rs_col TO rt_col.rs_col-low     = '0017'.APPEND rs_col TO rt_col.rs_col-low     = '0019'.APPEND rs_col TO rt_col.rs_col-low     = '0020'.APPEND rs_col TO rt_col.rs_col-low     = '0021'.APPEND rs_col TO rt_col.rs_col-low     = '0022'.APPEND rs_col TO rt_col.rs_col-low     = '0023'.APPEND rs_col TO rt_col.rs_col-low     = '0024'.APPEND rs_col TO rt_col.rs_col-low     = '0025'.APPEND rs_col TO rt_col.rs_col-low     = '0029'.APPEND rs_col TO rt_col.rs_col-low     = '0054'.APPEND rs_col TO rt_col.rs_col-low     = '0055'.APPEND rs_col TO rt_col.rs_col-low     = '0056'.APPEND rs_col TO rt_col.rs_col-low     = '0057'.APPEND rs_col TO rt_col.rs_col-low     = '0058'.APPEND rs_col TO rt_col.rs_col-low     = '0060'.APPEND rs_col TO rt_col.rs_col-low     = '0063'.APPEND rs_col TO rt_col.rs_col-low     = '0064'.APPEND rs_col TO rt_col.filename = p_path.CALL FUNCTION 'ZALSM_EXCEL_TO_INTERNAL_TABLE'EXPORTINGfilename    = filenamei_begin_col = begin_coli_begin_row = begin_rowi_end_col   = end_coli_end_row   = end_rowTABLESintern      = gt_excel[].IF gt_excel[] IS INITIAL.MESSAGE '請填充數據' TYPE 'S' DISPLAY LIKE 'E'.
*    .EXIT.ENDIF.SORT gt_excel[] BY row col value.
*  DELETE gt_excel[] WHERE col NOT IN rt_col.*&--------------added by handlmq 17.05.2024 13:04:31  begin---------------------&*
data:I(2) TYPE I.gt_excel_copy[] = gt_excel[].DATA:zn TYPE kcd_ex_row_n.DATA:n  TYPE kcd_ex_col_n.LOOP AT gt_excel_copy.ON CHANGE OF gt_excel_copy-row.zn = gt_excel_copy-row.CLEAR:n.ENDON.n = n + 1.IF n <> gt_excel_copy-col.I = gt_excel_copy-col - n.DO I  TIMES.gt_excel-col = n.gt_excel-row = zn.APPEND gt_excel.n = n + 1.ENDDO.ENDIF.ENDLOOP.
*&--------------added by handlmq 17.05.2024 13:04:31  end-----------------------&*SORT gt_excel[] BY row col value.DELETE gt_excel[] WHERE col NOT IN rt_col.LOOP AT gt_excel.ON CHANGE OF gt_excel-row.IF sy-tabix NE 1.APPEND gs_gts_file_line_copy TO gt_gts_file_line_copy.CLEAR: gs_gts_file_line_copy,num.ENDIF.ENDON.num = num + 1.ASSIGN COMPONENT num OF STRUCTURE gs_gts_file_line_copy TO <fs>.IF <fs> IS ASSIGNED .IF num = 18.REPLACE '-' INTO gt_excel-value WITH ``.REPLACE '-' INTO gt_excel-value WITH ``.ENDIF.IF num = 17.REPLACE ALL OCCURRENCES OF _r IN gt_excel-value WITH ` `.REPLACE ALL OCCURRENCES OF '"' IN gt_excel-value WITH ''.ENDIF.<fs> =  gt_excel-value.UNASSIGN <fs>.ENDIF.ENDLOOP.APPEND gs_gts_file_line_copy TO gt_gts_file_line_copy.

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/22088.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/22088.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/22088.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

AI產品經理系列-如何使用kimi快速撰寫用戶故事(含提示詞)

在AI時代&#xff0c;可能人人都可成為產品經理。 之前我們聊過如何使用kimi協助完成產品需求文檔&#xff0c;如何寫競品分析報告&#xff0c;這一篇我們聊聊用戶故事&#xff0c;如何使用kimi協助撰寫產品需求文檔中的用戶故事。 在此之前我們先了解下什么是用戶故事&#…

深入理解Django Serializer及其在Go語言中的實現20240604

深入理解Django Serializer及其在Go語言中的實現 在現代Web開發中&#xff0c;前后端分離已成為主流架構模式。作為開發者&#xff0c;我們經常需要處理數據的序列化和反序列化&#xff0c;以便在前后端之間傳遞數據。在Django中&#xff0c;Serializer是一個強大的工具&#…

Spring類加載機制揭秘:深度解析“驗證”階段

1. 引言 在Spring框架中&#xff0c;類加載機制是一個至關重要的環節&#xff0c;它確保了應用程序在運行時能夠正確地加載、鏈接和初始化所需的類。其中&#xff0c;驗證&#xff08;Verification&#xff09;作為類加載機制的一個重要階段&#xff0c;起到了至關重要的作用。…

車牌號碼智能監測識別攝像機

車牌號碼智能監測識別攝像機是一項革命性的技術&#xff0c;為交通管理和安全提供了全新的解決方案。這種攝像機利用先進的人工智能和圖像識別技術&#xff0c;能夠實時監測道路上的車輛&#xff0c;并準確識別車輛的車牌號碼&#xff0c;為交通管理和安全提供了強有力的支持。…

java 工作排序(Job Sequencing Problem)

給定一個作業數組&#xff0c;其中每個作業都有一個截止期限&#xff0c;如果作業在截止期限之前完成&#xff0c;則可獲得相關利潤。此外&#xff0c;每個作業都占用一個單位時間&#xff0c;因此任何作業的最小可能截止期限都是 1。如果一次只能安排一項作業&#xff0c;則最…

代碼隨想錄算法訓練營Day60 | 84.柱狀圖中最大的矩形 | Python | 個人記錄向

注&#xff1a;今天是代碼隨想錄訓練營的最后一天啦&#xff01;&#xff01;&#xff01; 本文目錄 84.柱狀圖中最大的矩形做題看文章 以往忽略的知識點小結個人體會 84.柱狀圖中最大的矩形 代碼隨想錄&#xff1a;84.柱狀圖中最大的矩形 Leetcode&#xff1a;84.柱狀圖中最…

解決使用Python檢查本地網絡中運行的Web服務器的問題

如果我們要檢查本地網絡中運行的 Web 服務器&#xff0c;可以使用 Python 的 socket 模塊來進行網絡連接測試。以下是一個簡單的示例代碼&#xff0c;演示如何檢查本地網絡中運行的 Web 服務器&#xff1a; 1、問題背景 在學習如何使用 Python 時&#xff0c;一位用戶希望編寫…

從零開始:騰訊云輕量應用服務器上部署MaxKB項目(基于LLM大語言模型的知識庫問答系統)

使用騰訊云輕量應用服務器部署和使用MaxKB項目 前言 一&#xff0c; MaxKB介紹 MaxKB是基于LLM大語言模型的知識庫問答系統&#xff0c;旨在成為企業的最強大腦。它支持開箱即用&#xff0c;無縫嵌入到第三方業務系統&#xff0c;并提供多模型支持&#xff0c;包括主流大模型…

我們如何收到衛星信號?(導航電文,載波與測距碼)

衛星信號 在介紹所有衛星信號之前&#xff0c;首先要明確一些概念&#xff1a; 所有的衛星信號&#xff0c;都是一段電磁波&#xff0c;用戶接收的&#xff0c;也是一段電磁波。 但是我們認知中的電磁波&#xff0c;就是一段波&#xff0c;就像我們打出去的交一樣&#xff0c…

【UML用戶指南】-03-UML的14種圖

目錄 1、結構圖 1、類圖&#xff08;class diagram&#xff09; 2、對象圖&#xff08;object diagram&#xff09; 3、構件圖 &#xff08;component diagram&#xff09; 4、組合結構圖 5、包圖&#xff08;package diagram&#xff09; 6、部署圖&#xff08;deploym…

Android輸入法IME(二)

2. IME初始化啟動流程 2.1. IME客戶端&#xff08;IMM&#xff09;初始化流程 涉及代碼文件路徑&#xff1a; frameworks/base/core/java/android/view/ViewRootImpl.java frameworks/base/core/java/android/view/WindowManagerGlobal.java frameworks/base/core/java/andro…

【kubernetes】k8s的面試寶典,等你來拿哦

目錄 一、pod的生命周期 二、創建 pod 的工作流程 三、ingres 有哪些組件并且描述出組件作用 &#xff1f; 四、ingress 的工作原理 五、ingress 暴露服務的方式 六、pod 的組成 七、pod的本身性質&#xff08;pod的種類與說明&#xff09; 八、k8s命令 8.1在k8s中如何…

零基礎入門學習Python第二階04SQL詳解03

MySQL 新特性 JSON類型 很多開發者在使用關系型數據庫做數據持久化的時候&#xff0c;常常感到結構化的存儲缺乏靈活性&#xff0c;因為必須事先設計好所有的列以及對應的數據類型。在業務發展和變化的過程中&#xff0c;如果需要修改表結構&#xff0c;這絕對是比較麻煩和難…

AppStore搜索優化方法(ASO)

在競爭激烈的 App Store 中&#xff0c;如何讓你的應用脫穎而出&#xff0c;吸引更多用戶下載&#xff1f;其實從官方文檔描述中可以總結一些優化技巧&#xff0c;這是官方描述地址&#xff1a;搜索優化 – App Store – Apple Developer。通過官方描述我們可以總結到影響搜索結…

commander.js 入門指南:構建強大的命令行界面 (全網最全教程)

在Node.js的世界里&#xff0c;創建用戶友好的命令行界面&#xff08;CLI&#xff09;對于許多應用程序和工具來說至關重要。Commander.js 是一個廣受歡迎的 Node.js 包&#xff0c;它為開發者提供了一套簡潔而強大的 API&#xff0c;用于快速創建功能完備、用戶友好的命令行界…

如何用TCC方案輕松實現分布式事務一致性

本文作者:小米,一個熱愛技術分享的29歲程序員。如果你喜歡我的文章,歡迎關注我的微信公眾號“軟件求生”,獲取更多技術干貨! 哈嘍,大家好!我是小米,一個熱愛技術的活力小青年,今天要和大家分享的是一種在分布式系統中實現事務的一種經典方案——TCC(Try Confirm Canc…

【Ubuntu】超詳細安裝Ubuntu系統

鑒于有些小伙伴在安裝Ubuntu系統的時候遇到很多問題&#xff0c;因此打算編寫一篇記錄一下安裝Ubuntu系統的整個過程~互相學習&#xff01; 一、制作U盤啟動 準備一個大于8G以上的U盤&#xff0c;這里我使用的是16G的U盤下載UltraISO工具 網站地址&#xff1a;UltraISO準備Ub…

C++ Primer 第五版 第15章 面向對象程序設計

面向對象程序設計基于三個基本概念&#xff1a;數據抽象、繼承和動態綁定。 繼承和動態綁定對編寫程序有兩方面的影響&#xff1a;一是我們可以更容易地定義與其他類相似但不完全相同的新類&#xff1b;二是在使用這些彼此相似的類編寫程序時&#xff0c;我們可以在一定程度上…

HTML靜態網頁成品作業(HTML+CSS)—— 金寶貝兒童教育機構介紹網頁(2個頁面)

&#x1f389;不定期分享源碼&#xff0c;關注不丟失哦 文章目錄 一、作品介紹二、作品演示三、代碼目錄四、網站代碼HTML部分代碼 五、源碼獲取 一、作品介紹 &#x1f3f7;?本套采用HTMLCSS&#xff0c;未使用Javacsript代碼&#xff0c;共有2個頁面。 二、作品演示 三、代…

Stable diffusion prompts 使用語法、參數講解、插件安裝教程

Stable diffusion prompts 使用語法、參數講解、插件安裝教程 本文基于 Stable diffusion WebUI 進行講解&#xff08;安裝在 AutoDL 上&#xff0c;安裝在本地電腦上的也同樣適用本教程&#xff09;。 初始界面&#xff1a; 文件目錄結構&#xff1a; 上圖紅框中的 4 個文件…