【问题标题】:excel to oracle db using VS 2005 C#使用 VS 2005 C# excel 到 oracle db
【发布时间】:2011-01-08 14:50:26
【问题描述】:

我想构建一个实用程序,可以将数据从 excel 表(列是固定的,但表可以是任意数字)导入到 oracle db。你能建议我应该怎么做:

  1. 阅读 excel 表(n 个数字)?(最佳方式)
  2. 验证数据?
  3. 批量插入数据库?

我关心的是这里的性能。每个工作表可以有 200,000+ 行。

PS - 请记住我是甲骨文的新手。

【问题讨论】:

  • 这里列出了许多选项:forums.oracle.com/forums/…
  • OMG 小马们,您应该将此评论作为答案。这是迄今为止给出的最佳答案。

标签: c# sql oracle excel data-import


【解决方案1】:

您可以使用 Microsoft 集成服务并使用它批量加载文件

另一种方法是将excel表格转换成cvs并通过Oracle Loader进行加载

http://www.orafaq.com/wiki/SQL*Loader_FAQ

【讨论】:

    【解决方案2】:

    SpreadsheetGear for .NET 是一个与 Excel 兼容的电子表格组件,它易于从 C# 中使用,并允许您从单元格中获取原始的未格式化数据,或每个单元格的格式化文本。

    您可以查看实时示例here 并下载免费试用版here

    免责声明:我拥有 SpreadsheetGear LLC

    【讨论】:

      【解决方案3】:

      可以使用 ODBC 驱动程序从 Excel 中直接连接到 Oracle 数据库。

      根据您的数据操作的复杂程度,您可以使用 VBA 或 .Net Office Interops。

      Office Development with Visual Studio

      【讨论】:

        【解决方案4】:

        如果您只想快速加载数据。您可以考虑将电子表格导出为 CSV。然后将其作为外部表安装在您的数据库中。

        然后您可以在插入主表之前使用 PL/SQL 查询和验证数据。

        【讨论】:

          【解决方案5】:

          在 StackOverflow 中看看这个问题:

          Create Excel (.XLS and .XLSX) file from C#

          我认为您可以打开工作簿并处理其数据、执行验证等。然后您可以使用标准 SQL 插入将数据插入 Oracle 数据库。当您使用 NPOI 时,这会变得很容易。

          如果你有一个快速的处理器和可用的内存,性能可能不是问题。

          以下帖子向您展示了如何使用 ASP.NET MVC 应用程序打开工作簿和处理数据:

          Creating Excel spreadsheets .XLS and .XLSX in C#

          【讨论】:

            猜你喜欢
            • 2011-01-09
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2018-10-01
            相关资源
            最近更新 更多