文字檔案或Excel檔案匯入與匯出

2021-10-06 13:11:47 字數 3611 閱讀 1882

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...