0

我有一個使用vb.net的visual studio 2013中的lightswitch項目。我希望用戶能夠點擊一個按鈕並讓lightswitch找到一個excel文件,並根據預定的列映射將該文件上傳到sql表中。如何將Excel工作表上載到Lightswitch Web客戶端中的SQL表中?

我的選擇是使用Office集成擴展Visual Studio中,我得到了由從這個鏈接下載它與VS 2013的工作:http://www.ge.tt/71iuRQv/v/0 然而,文檔和辦公一體化的例子似乎是在得到一個非常重將電子表格轉換爲lightswitch Web客戶端中的顯示,而不是放入sql數據表中,這是我需要的地方。這裏是我一直在下面的例子: http://blogs.msdn.com/b/bethmassi/archive/2012/07/18/new-and-improved-office-integration-pack-extension-for-lightswitch.aspx

另外,我有一個現有的存儲過程,我可以請求調用服務器發送來自客戶端的Web API擴展到服務器這個存儲過程。根據Beth Masi和Paul van Bladel的例子,我已經在其他存儲過程中工作了。 (Stackoverflow不會讓我發佈鏈接...)

這種方法的不受歡迎的部分是,存儲的過程是舊的,雜亂的。

我已經搜索和搜索,但還沒有找到任何人用VS電燈開關來解決這個問題。任何有用的建議?

回答

0

我已經使用Matt Sampson詳細說明的方法來存儲單詞文件,它工作得很好。由於它只是存儲原始二進制文件,它也應該處理Excel文件。

如果您在LightSwitch中創建表,請使用Binary類型。如果您使用SQL創建腳本,請使用varbinary(MAX)

您需要創建一個自定義Silverlight對話框才能訪問OpenFileDialog對象。然後以FileStream的方式打開文件。

最後,您需要爲控件的封閉方法添加一個處理程序,然後向用戶顯示控件。最有可能在一個按鈕中完成。這需要在主調度員上完成。

代碼示例是用C#編寫的,但我只是使用網絡上衆多可用的翻譯器之一併複製/粘貼了VB.NET代碼。

0

另一個選擇可能是考慮脫殼到DTSEXEC運行時執行一個SSIS包來執行上傳 - 尤其是如果目標Excel電子表格具有預定義的佈局和內容數據類型。

更簡單一點,您可以使用SQL Server BULK INSERT命令完成工作 - 儘管這需要SQL客戶端連接到數據庫。

HTH

相關問題