[英]Using ExcelDNA and System.Data.SQLite
我在使用ExcelDNA時沒有問題,在獨立exe中使用System.Data.SQLite也沒有問題。 但是,我無法使兩者一起使用來創建Excel插件dll(使用Visual Studio 2012和NuGet來安裝SQLite .NET包),以用於查詢SQLite數據庫。 不知道是否沒有解決任何SQLite依賴項。 我得到的全部是:“未知模塊”中發生“類型為'System.IO.FileLoadException'的第一次機會異常”,並在Excel單元格中給出了VALUE錯誤。 因此,我想知道這里是否有人可以成功地同時使用這兩者,以及是否存在一些我不知道的陷阱。 我正在為此測試使用Northwind SQLite數據庫 。
請嘗試以下步驟:
在您的項目中添加以下代碼:
using System; using System.Data; using System.Data.SQLite; using ExcelDna.Integration; namespace UsingSQLite { public static class MyFunctions { static SQLiteConnection _connection; static SQLiteCommand _productNameCommand; private static void EnsureConnection() { if (_connection == null) { _connection = new SQLiteConnection(@"Data Source=C:\\Temp\\Northwind.db"); _connection.Open(); _productNameCommand = new SQLiteCommand("SELECT ProductName FROM Products WHERE ProductID = @ProductID", _connection); _productNameCommand.Parameters.Add("@ProductID", DbType.Int32); } } public static object ProductName(int productID) { try { EnsureConnection(); _productNameCommand.Parameters["@ProductID"].Value = productID; return _productNameCommand.ExecuteScalar(); } catch (Exception ex) { return ex.ToString(); } } } }
按F5加載並在Excel中運行。
它可以在我的機器上工作:-)
請注意,由於打包工具不支持混合程序集,因此您將無法使用ExcelDnaPack將SQLite程序集打包到.xll文件中。
我還在GitHub上添加了一個示例項目: https : //github.com/Excel-DNA/Samples/tree/master/UsingSQLite
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.