数据导入 - Excel以SQL Azure的? [关闭](Data Import - Exc

2019-10-17 20:50发布

有没有到SQL Azure的任何可用的工具,使从一个Excel工作表(甚至访问)导入数据容易吗? 我可以写一个C#脚本(我假设最好的现在),但我想我会检查的情况下还有其他的工具在那里。 我有简单的Excel工作表导入,但记录了数万的,成千上万,而宁愿使用自动化工具做到这一点。

救命?

Answer 1:

选项1,复制和粘贴

这是一个非常粗略的解决方案,但我之前已经用它,固然与数据量较小的。 只需选择在Excel中的行和列,确保他们与你的数据库表模式相关。 复制到剪贴板。 打开在Visual Studio数据库的连接选择最后一个空行,然后粘贴。

就像我说的,一个非常粗略的解决方案,但如果它的工作原理,并节省您的时间是最重要的。 与行的一小部分第一次尝试,不要忘了排除任何自动递增列。 如果您转换为CSV首先你会用核武器炸任何的Excel格式可能无法导入到表模式。 我必须说实话,我不知道这个方法将如何与大数据集执行,显然这将取决于Excel文档中的数据,列数等,您可能需要移动在数据块中的数据,但它很可能是比其他方法更快。

选项2,CSV到数据表

第二种方法需要一些编码,但会给你过来的数据是如何映射到数据表中更多的控制。 它基本上包括将文档转换为从Excel CSV,读入DataTable对象循环行并插入到SQL数据库表。

Dim dt As DataTable = New DataTable("myData")
Dim DataFile As FileInfo = New FileInfo("c:\myspreadsheet.csv")

Dim MyConnection As New System.Data.OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source='" & DataFile.Directory.FullName & "';Extended Properties='text;HDR=NO';Jet OLEDB:Engine Type=96;")
Dim oledataAdapter As OleDbDataAdapter
oledataAdapter = New OleDbDataAdapter("SELECT * FROM [" & DataFile.Name & "]", MyConnection)

oledataAdapter.Fill(dt) 'Bind the csv to the data table

'LOOP AND INSERT HERE...
For Each DataRowObj As DataRow In dt.Rows

Next


Answer 2:

您还可以使用SQL Server的进出口数据(32位),将数据从一个excel文件传输到桌子上的SQL Azure的。 这是非常快的。 确保当你选择一个目的地,它是使用Sql Server .NET Framework数据提供。 您必须设置数据源,用户ID,密码和初始目录属性为好。



文章来源: Data Import - Excel to SQL Azure? [closed]