使用F#将数据从Excel传输到SQL Server

我目前正在使用Visual Studio中的F#在Excel中进行大量的数据操作。 我正在合并,删除和修改各种工作表/工作簿中的表格,并将最终结果放入新的工作簿中。 我很清楚有从Excel工作表中导出数据到Microsoft SQl服务器的各种方法,但是我想知道是否有一些F#中的库可以支持这个function,这样我就可以在Visual Studio中编写代码并移动数据到SQL Server中新创build的表中。 我search了互联网,但没有遇到任何描述我正在寻找的东西。 如果有人知道这是可能的,或有任何想法如何实现,我将不胜感激的帮助。 (我正在使用SQL Server 2014)

这听起来像是Exceltypes的提供者正是你在找什么。

为了在数据库中插入数据,你可以使用SqlDataConnectiontypes的提供者 ,虽然可能有一个更好/更简单的方法。

您可以将数据从Excel导入到SQL Server,只需从Excel复制并粘贴即可,但是您需要从Excel到SQL的顺序完全相同。 例如…

如果你的Excel有4列:

ABCD 1 1 1 1 2 2 2 2 3 3 3 3

你的表格必须有4列才能复制和粘贴

ColumnA ColumnB ColumnC ColumnD

如果你有很多列,这不能sorting…你可以用.csv(分隔逗号)保存你的.xls,这样你可以使导入更容易。

你需要用这种方式从.cvs读取

var contents = File.ReadAllText(filename).Split('\n'); var csv = from line in contents select line.Split(',').ToArray();

然后你需要写入你的数据库:

 using(SqlConnection openCon=new SqlConnection("your_connection_String")) { string saveStaff = "INSERT into tbl_staff (staffName,userID,idDepartment) VALUES (@staffName,@userID,@idDepartment)"; using(SqlCommand querySaveStaff = new SqlCommand(saveStaff)) { querySaveStaff.Connection=openCon; querySaveStaff.Parameters.Add("@staffName",SqlDbType.VarChar,30).Value=name; ..... openCon.Open(); openCon.Close(); } }