【问题标题】:To convert an Excel file to CSV and then move that data from CSV to oracle database将 Excel 文件转换为 CSV,然后将该数据从 CSV 移动到 oracle 数据库
【发布时间】:2013-03-08 07:43:07
【问题描述】:

我有一个 CSV 格式的 Excel 表,然后应该将 CSV 中的数据加载到 oracle 数据库中的表中。

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

如果您注意到红色文本是字段,并且它们各自的数据位于下一个单元格上。例如,标题日期数据是 2000 年 1 月 1 日。现在,当我使用该 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

【问题讨论】:

  • 您能按照您的意愿分享生成的 CSV 吗?您的文件中的数据太多,不清楚您到底想要什么...
  • 你有没有想过这样做? stackoverflow.com/questions/315504/…
  • 我会以我想要的方式分享 CSV。
  • 您好,我附上了我需要的预期 CSV 格式的链接。请检查并让我知道什么时候可以完成。提前致谢。
  • 请帮帮我。我正在尝试但无法获得它。

标签: oracle excel csv vbscript


【解决方案1】:

如果您想在 CSV 文件中自定义格式,请逐行、逐列读取 excel,然后根据您的选择将数据写入 CSV。

如果列中的逗号是唯一的问题,则使用选项对列文本进行双引号,这样其中的逗号就不会造成问题。

【讨论】:

  • 我实际上是新手。你能帮忙吗
  • 帮助什么?逐个单元格读取excel并将其写回文件? Net 会为您提供大量关于如何逐个单元格读取 excel 的示例。
  • 我确实搜索过,但没有得到什么。
【解决方案2】:

这可能令人失望,但是,首先访问 csv 可能根本没有必要。您有 Excel,您希望将数据放入 Oracle 表中。假设我们的 Oracle 表“member_list”有三列:姓名、电话、城市。我们的 Excel 数据在 A 列中有名称,B 列中有电话,C 列中有城市。我们的标题在第 1 行,数据从第 2 行开始。 在 D2 列中输入以下公式: ="进入member_list ("&$A$1&","&$B$1&","&$C$1&") VALUES("&A2&",'"&B2&"','"&C2&")" 将此相同的语句复制到每个数据行。 返回 SQLDeveloper 类型:全部插入 然后将所有“D”列“复制到语句中” 进入 SQLDeveloper。最后输入: 从对偶中选择 *;

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

【讨论】:

    猜你喜欢
    • 2021-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-11
    • 2016-05-21
    • 1970-01-01
    • 2019-07-19
    • 1970-01-01
    相关资源
    最近更新 更多