我想將excel文件轉換爲製表符限制的txt文件(無回車)。目前我使用的腳本(在這個論壇中發現),將大量的excel文件轉換成.txt文件。將excel文件轉換爲txt文件(無回車)
劇本
' @file: xl2tab.vbs
' @author: stephen brown - [email protected]
' @date: 2009-Dec-10
'
' @description: mass convert excel files to tab-delimited files
'
' @usage: place in top-level directory where excel files are contained and double-click.
' script will recursively access all subdirectories and convert each excel file to
' tab delimited file. All output will be in "output" folder, which retains structure
' of original directories
Dim saveDirBase
set fso = CreateObject("Scripting.FileSystemObject")
set shell = CreateObject("WScript.Shell")
set objExcel = CreateObject("Excel.Application")
set top = fso.GetFolder(shell.CurrentDirectory)
saveDirBase = top & "\" & "output"
Sub TraverseFolders(path)
set folder = fso.GetFolder(path)
XL2Tab(folder)
For each item in folder.SubFolders
If item.Path <> saveDirBase Then
Call TraverseFolders(item.Path)
End If
Next
set folder = Nothing
End Sub
Sub XL2Tab(folder)
Dim saveDir
set files = folder.Files
If folder.Name <> top.Name Then
saveDir = saveDirBase & "\" & folder.Name
Else
saveDir = saveDirBase
End If
If fso.FolderExists(saveDir) = False Then
fso.CreateFolder(saveDir)
End If
For each file In files
If file.Name <> Wscript.ScriptName Then
objExcel.Application.DisplayAlerts = False
Set objWorkbook = objExcel.Workbooks.open(folder.Path & "\" & file.Name)
objWorkbook.SaveAs saveDir & "\" & file.Name & ".txt", -4158
objWorkbook.close
objExcel.Application.DisplayAlerts = True
End If
Next
End Sub
If fso.FolderExists(saveDirBase) = False Then
fso.CreateFolder(saveDirBase)
End If
Call TraverseFolders(top)
轉換之前我想刪除回車在每一個Excel文件。
請指導我任何人......!
爲什麼要取消回車?你想在一行中合併所有的行嗎?或者你是否試圖導出一個文件在linux中使用? –
我想將.txt文件上傳到Mysql數據庫中。如果它包含回車,它將不會將文件加載到數據庫。僅供參考,excel文件是手動輸入的,有些單元格值有回車。 – CarlJohn
您可能會遇到導入數據的方式問題。 MySQL在文本數據中的回車沒有問題。另一方面,如果您嘗試通過連接文本和回車來構造SQL語句,則結果語句將不正確。這類似於SQL注入攻擊,其中文本數據中的無效字符導致任意語句執行。 根據您的語言,您可以使用參數化查詢將文本數據作爲數據傳遞。如果你使用的是一個工具,你應該使用一個不使用原始數據構造語句的工具。 –