将数据导入或导出到&;从Excel到Oracle数据库

将数据导入或导出到&;从Excel到Oracle数据库,excel,oracle10g,Excel,Oracle10g,我正在使用SQLTools 1.5编写Oracle SQL脚本。我想将数据从Excel文件导入Oracle数据库。我怎么做 另外,如何将数据从Oracle数据库导出到Excel文件 SQL工具支持将数据从Excel文件导入Oracle。您可以使用Oracle的SQL Developer将数据从Excel文件导入数据库 杰夫·史密斯在他的文章中解释了如何做到这一点 右键单击表–>导入数据 选择您的文件 当心标题!Excel文件是否有列标题?我们是否要将这些视为表中的一行?可能不会。默认值 选项会

我正在使用SQLTools 1.5编写Oracle SQL脚本。我想将数据从Excel文件导入Oracle数据库。我怎么做


另外,如何将数据从Oracle数据库导出到Excel文件

SQL工具支持将数据从Excel文件导入Oracle。您可以使用Oracle的SQL Developer将数据从Excel文件导入数据库

杰夫·史密斯在他的文章中解释了如何做到这一点

  • 右键单击表–>导入数据
  • 选择您的文件
  • 当心标题!Excel文件是否有列标题?我们是否要将这些视为表中的一行?可能不会。默认值 选项会解决这个问题
  • 选择要导入的Excel列
  • 告诉SQL开发人员电子表格中的哪些列与Oracle表中的哪些列匹配
  • 点击“验证”按钮。修正任何错误
  • 一切看起来都很好!单击“完成”按钮
  • 检查新表数据的导入外观

您也可以从SQL Developer执行相反的操作,只需右键单击表并选择导出。

选中此项,可能会有所帮助

WebUtil:如何将Excel文件读入Oracle表单


坦率地说,您可能会发现编写Excel VBA脚本(或与Excel在同一台PC上运行的独立VB.Net程序)并从Oracle导入最简单。Microsoft/PC客户端工具通常非常容易使用。IMHO…@Paulsm4,谢谢你的建议。但我对VBA或VB.Net程序知之甚少。相信我,在MS Excel或MS VB.Net中工作所付出的努力与使用SQLTools相比,可能有一个数量级的差异。嗯……好的,我试试看。非常感谢。如果有什么问题,我会告诉你的。
Below sniplet works...

Imports Oracle.DataAccess.Client
Imports System.Configuration
Imports System.IO
Imports Excel = Microsoft.Office.Interop.Excel

Module Module1

    Sub Main()
        Dim dt As New DataTable
        Dim connString = ConfigurationManager.ConnectionStrings("oraConnectionString").ConnectionString
        Using conn As New OracleConnection(connString)
            Dim cmd As New OracleCommand
            cmd.Connection = conn
            cmd.CommandText = "select Doc_name,Doc_id from Document;"
            conn.Open()
            Using oda As New OracleDataAdapter(cmd.CommandText, conn)
                oda.Fill(dt)
            End Using
            conn.Close()
        End Using
        'exportTOExcel
        savetoXcel(dt, dt.Rows.Count)

    End Sub

    Private Sub savetoXcel(dt As DataTable, rows As Int64)
        Dim appXL As Excel.Application
        Dim wbXl As Excel.Workbook
        Dim shXL As Excel.Worksheet
        Dim raXL As Excel.Range
        ' Start Excel and get Application object.
        appXL = CreateObject("Excel.Application")
        appXL.Visible = True
        ' Add a new workbook.
        wbXl = appXL.Workbooks.Add
        shXL = wbXl.ActiveSheet
        ' Add table headers going cell by cell.
        shXL.Cells(1, 1).Value = "Document ID"
        shXL.Cells(1, 2).Value = "Document Name"
        Console.WriteLine("rows:" + rows.ToString)
        ' Format A1:D1 as bold, vertical alignment = center.
        With shXL.Range("A1", "B1")
            .Font.Bold = True
            .VerticalAlignment = Excel.XlVAlign.xlVAlignCenter
        End With
        ' Create an array to set multiple values at once.
        Dim students(rows, 2) As String
        Dim i As Int32 = 0
        For Each Dr As DataRow In dt.Rows
            students(i, 0) = Dr.Item(0)
            students(i, 1) = Dr.Item(1)
            i = i + 1
        Next

        Dim BRange As String = "B" + rows.ToString
        'Console.WriteLine("BRange:" + BRange)
        shXL.Range("A2", BRange).Value = students

        'AutoFit columns A:D.
        raXL = shXL.Range("A1", "B1")
        raXL.EntireColumn.AutoFit()
        ' Make sure Excel is visible and give the user control
        ' of Excel's lifetime.
        appXL.Visible = True
        appXL.UserControl = True
        'Export to excel
        wbXl.SaveAs(Filename:="d:\Db_report.xls", FileFormat:=50, ReadOnlyRecommended:=True)
        ' Release object references.
        raXL = Nothing
        shXL = Nothing
        wbXl = Nothing
        appXL.Quit()
        appXL = Nothing
        Exit Sub

    End Sub
End Module