text_convert_xls_to_sap
text_convert_xls_to_sap函式可以將本地的文字檔案(列與列之間預設使用tab鍵分開,但也可以指定)或真正的excel檔案上傳到服務內錶中,並且檔案轉換成內錶中的資料是自動完成,不需要手動,這與alsm_excel_to_internal_table函式是不一樣的
parameters:p_file like rlgrap-filename obligatory.
type-pools: truxs.
data: begin of i_data occurs 0,
c(2),
n(2) type n,
i type i,
d type d,
end of i_data.
at selection-screen on value-request for p_file. "彈出選擇檔案對話方塊
call function 'ws_filename_get'
exporting
* def_filename = ' '
def_path = 'c:\'
"structure of mask: ,,.
"structure of filtergroup: ;*
mask = ',excel file,*.xls;*.xlsx;*.txt.'
title = 'window title:請選擇檔案'
"彈出框的模式 s -- 用來儲存檔案 o -- 用來開啟檔案
mode = 's'
importing
filename = p_file
* rc =
exceptions
inv_winsys = 1
no_batch = 2
selection_cancel = 3"如果使用者取消了對話方塊
selection_error = 4
others = 5.
start-of-selection.
data: il_raw type truxs_t_text_data.
call function 'text_convert_xls_to_sap'
exporting
* i_field_seperator =
* i_line_header = 'x' "文字中的第一行是否是標題頭,如果是則不會讀取
i_tab_raw_data = il_raw "該引數實際上沒有使用到,但為必輸引數
通過alsm_excel_to_internal_table函式可以將上面excel中的資料匯入到下面結構的內錶中:
最後我們還需要手動將上面乙個個單元格轉換為成一行行,轉換後如下:
"開啟檔案選擇對話方塊
call method cl_gui_frontend_services=>file_open_dialog
exporting
default_filename = p_file
changing
rc = rc
file_table = filetab.
read table filetab index 1.
if sy-subrc eq 0.
p_file = filetab-filename.
endif.
start-of-selection.
g_file = p_file.
call function 'alsm_excel_to_internal_table'
exporting
filename = g_file
i_begin_col = 1 "列
i_begin_row = 1 "行
i_end_col = 255
i_end_row = 65536
tables
intern = itab.
* delete itab where row = 1. "刪除欄位名行
loop at itab.
on change of itab-row.
if sy-tabix <> 1.
clear outtab.
endif.
endon.
"將列轉換為內錶行的形式
assign component itab-col of structure outtab to .
= itab-value.
endloop.
sap_convert_to_xls_formatabap 內錶匯出到excel
call function 'sap_convert_to_xls_format'
exporting
i_filename = file1
tables
i_tab_sap_data = itable1
exceptions
conversion_failed = 1.
以上**是將內錶itable1寫到乙個excel檔案file1中。如果excel檔案已經存在,那麼將被覆蓋。
結果顯示,內錶的內容是寫到了excel檔案中,但如果原來的excel檔案行記錄(假如m行)多於內錶的行(假如n行),那末只覆蓋一部分(m行中的前n行)。
C 讀寫文字檔案並匯入Excel(二)
一 程式設計思想 中幾個好用的字串函式 string.indexof 和string.substring 二 程式執行後匯入excel 即把用逗號分列好的目標文字.txt 匯入excel 檔案中,我並沒有直接對 excel 進行讀寫,這點讀者必須注意。達到了我們程式設計的目的就可以了。截圖如下 三 ...
MSSQL文字檔案匯入匯出
文字檔案匯出 exec master.xp cmdshell bcp select from sqbl.dbo.subcenter queryout c est.txt c s 127.0.0.1 u sa p exec master.xp cmdshell bcp 查詢 queryout 路徑 檔...
spark sql hive批量匯入文字檔案
在很多情況下,會需要將批量生成 如按天生成的記錄 匯入到hive中。針對這種應用場景,進行實驗。首先需要進行檔案目錄的遍歷,借助scala強大的函式式程式設計能力,利用array中的map函式進行操作即可。如函式如下 def loadintohive sc hivecontext,dir strin...