2013-03-08 74 views
0

我有一个Excel工作表,我希望它具有CSV格式,然后CSV中的数据应该加载到Oracle数据库的表中。要将Excel文件转换为CSV,然后将该数据从CSV移动到oracle数据库

我有一个VBscript转换excel文件为CSV,但该Excel工作表的格式有点不同,所以CSV文件没有正确填充。我附上一个链接,下载该示例Excel表。 Excel sheet

如果您发现红色文本是字段并且它们各自的数据位于下一个单元格中。例如,标题日期数据是1/1/2000。现在,当我使用该脚本进行转换时,我在此处附加链接以下载该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

+0

请您分享一下您所希望的CSV文件吗?你的文件中有太多的数据,并不清楚你到底想要什么...... – 2013-03-08 07:58:18

+0

你有没有想过只是这样做? http://stackoverflow.com/questions/315504/tricks-for-generating-sql-statements-in-excel – Ben 2013-03-08 09:02:47

+0

我会以我想要的方式共享CSV。 – priyank548 2013-03-08 09:25:37

回答

0

如果你想在你的CSV文件自定义格式,然后读取行Excel的行,列柱,并将数据以CSV写你选择去做。

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

+0

我其实是新手。你能帮忙 – priyank548 2013-03-11 12:49:22

+0

帮忙吗?读取单元格的细胞并将其写回到文件中?网络会给你很多关于如何逐个读取excel的例子。 – Amit 2013-03-13 02:46:47

+0

我没有搜索,但没有多少我可以得到。 – priyank548 2013-03-13 11:04:13

0

这可能令人失望,但是,首先去csv可能根本就没有必要。你有Excel,你需要将数据存入Oracle表中。假设我们的Oracle表“member_list”有三列:名称,电话,城市。我们的Excel数据在列A中具有名称,列B中的电话,列C中的城市。我们的标题在Row1数据中在行2中开始。 在塔D2输入以下公式: = “到member_list(” & $ A $ 1 & “” & $ B $ 1 & “” & $ C $ 1 & “)VALUES(” & A2 &”,'” & B2 &“','”& C2 &“)” 将相同的语句复制到每个数据行。 返回到SQLDeveloper类型:全部插入 通过将所有“D”列“复制到语句” 后复制到SQLDeveloper中。最后输入: 选择* from dual;

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