uniGUI提供了一個文件上傳控件TUniFileUpload,進行數據的導入就變得比較容易。首先將TUniFileUpload控件放置在窗體上,按下導入按鈕后,執行TUniFileUpload的文件上傳功能:
procedure TfmeWebDBListEditBase.btnImportClick(Sender: TObject); begin inherited; { 執行文件上傳 } fuMain.Execute; { 啟動Mask,顯示文件上傳過程 } fuMain.ScreenMask.Target := Self; fuMain.ScreenMask.Enabled := True; end;
當TUniFileUpload的文件上傳完成后,觸發OnCompleted事件,在其中可以通過數據流對文件進行操作,如下:
procedure TfmeWebDBListEditBase.fileuploadMainCompleted(Sender: TObject; AStream: TFileStream); begin … end;
TUniFileUploadz主要的屬性包括:
Title 顯示文件上傳的標題
Filter 文件類型過濾,目前的版本暫不支持,作者說在后續版本中加入
Messages 文件上傳出了過程中的提示信息,不再詳述
MaxAllowedSize 限制文件大小,單位是字節(Byte),超過后會報錯,可惜是英文的,目前不能改,如下圖
我利用了TMS FlexCel控件實現Excel文件的上傳導入,效果非常不錯,只是手上的版本僅支持Excel2003及以下的xls文件,不支持Excel2007及以上的xlsx文件。