要将Excel文件转换为CSV,然后将该数据从CSV移动到oracle数据库

时间:2013-03-08 07:43:08

标签: oracle excel csv vbscript

我有一张excel表格,我希望以CSV格式存储,然后将CSV中的数据加载到oracle数据库的表格中。

我有一个VBscript将excel文件转换为CSV,但excel表的格式有点不同,因此CSV文件没有正确填充。我附上了一个下载该样本excel表的链接。Excel sheet

如果您注意到红色文本是字段,并且它们各自的数据位于下一个单元格中。标题日期数据的示例是1/1/2000。现在当我使用该vbscript转换它时,我在这里附加一个链接来下载该csv。

我想删除所有这些逗号,并删除第1列(长度为10)和其他所有逗号。 CSV文件中只应包含标题及其数据。能帮帮我吧。

提前致谢。 VBscript代码在这里: -

WorkingDir = "C:\Users\vijaywp\Desktop"
Extension = ".XLS"

Dim fso, myFolder, fileColl, aFile, FileName, SaveName
Dim objExcel,objWorkbook

Set fso = CreateObject("Scripting.FilesystemObject")
Set myFolder = fso.GetFolder(WorkingDir)
Set fileColl = myFolder.Files

Set objExcel = CreateObject("Excel.Application")

objExcel.Visible = False
objExcel.DisplayAlerts= False

For Each aFile In fileColl
ext = Right(aFile.Name,4)
If UCase(ext) = UCase(extension) Then
'open excel
FileName = Left(aFile,InStrRev(aFile,"."))
Set objWorkbook = objExcel.Workbooks.Open(aFile)
SaveName = FileName & "csv"
objWorkbook.SaveAs SaveName, 23
objWorkbook.Close 
End If  
Next

Set objWorkbook = Nothing
Set objExcel = Nothing
Set fso = Nothing
Set myFolder = Nothing
Set fileColl = Nothing

转换完成后,我希望将CSV数据加载到Oracle数据库表中。请帮忙。

以下是预期CSV输出的链接: - Expected CSV Output

2 个答案:

答案 0 :(得分:0)

如果您想在CSV文件中使用自定义格式,请逐行逐行读取Excel,并在选择时将数据写入CSV。

如果列中的逗号是唯一的问题,那么使用选项双引号列文本,以便其中的逗号不会出现问题。

答案 1 :(得分:0)

这可能会令人失望,但是,首先进入csv可能根本就没有必要。你有Excel,你想要数据到Oracle表。让我们说一下我们的Oracle表" member_list"有三列:姓名,电话,城市。我们的Excel数据在列A中有名称,在列B中有电话,在列C中有城市。我们的标题是在Row2中的Row1数据开始。      在D2列中输入以下公式:      ="进入member_list("& $ A $ 1&","& $ B $ 1&","& $ C $ 1& ;")价值观("& A2&",'"& B2&"''" &安培; C2&安培;")"      将此相同的语句复制到每个数据行。 返回SQLDeveloper类型:全部插入 然后复制你所有的" D"列"到语句" 进入SQLDeveloper。最后输入:     从双重选择*;

执行,您现在已将所有Excel数据插入Oracle。