Excel 转换器到 Microsoft SQL SERVER






3.53/5 (11投票s)
此应用程序动态获取 Excel 数据库并将其转换为 SQL Server。
引言
本文旨在丰富对两个数据库的访问。 通过此应用程序,您可以轻松地将 Excel 数据库表转换为 Microsoft SQL Server 中的关联表。 该界面设计得像一个向导,可以轻松地引导您到达目的地。 那么,让我们开始吧!
背景
该应用程序不需要太多准备工作,所以直接开始吧!
Using the Code
在这里,我们有两个主要类
- ExcelManager.cs
- ServerExplorer.cs
首先,我们将看看 ExcelManager
,稍后会跳转到 ServerExplorer
。 各位,系好安全带!!
现在,这就是我们用于管理 Excel 端的内容。 让我们深入研究并剖析代码。 在下面的代码中,有一个方法可以在 Excel 中获取数据库文件名以及 sheetName
、beginCell
、endCell
,这些都在 Excel 数据库中的关联表中。 该代码利用 OLeDb 数据提供程序来访问 Excel DBMS。 这就是 ExcelManager
类所做的全部工作。
public static DataTable GetExcelTable
(string fileName,string sheetName,string beginCell,string endCell)
{
try
{
OleDbConnection dbConnection = new OleDbConnection();
dbConnection.ConnectionString= "provider=Microsoft.Jet.OLEDB.4.0;
data source=" + fileName + ";Extended Properties=Excel 8.0;";
StringBuilder stbQuery = new StringBuilder();
stbQuery.Append("SELECT * FROM [" + sheetName + "$" + beginCell + ":"
+ endCell + "]");
OleDbDataAdapter adp = new OleDbDataAdapter
(stbQuery.ToString(), dbConnection);
DataTable dsXLS = new DataTable();
adp.Fill(dsXLS);
return dsXLS;
}
catch
{
return null;
}
}
现在让我们来看看 ServerExplorer
类。 实际上,这个类在我们的应用程序中执行主要操作。 请看下面
public static IList<string> GetActiveServers()
GetActiveServers()
方法利用 SqlDataSourceEnumerator
访问典型 LAN 网络中的 Microsoft SQL Server 名称。
public static IList<string> GetDatabases(string serverName, string userId,
string password,bool windowsAuthentication)
GetDatabases
实际上尝试连接到先前方法中选择的关联 ServerName
。 您可以通过 Windows 身份验证或适当的 UserName
和 Password
进行连接。
public static IList<string> GetTables
public static IList<string> GetColumns(string serverName, string databaseName,
string userId,string password, bool windowsAuthentication, string tableName)
如其名称所示,上面定义的 GetTables
和 GetColumns
所做的只是获取 SQL Server 关联数据库中的表以及先前表的列。
此应用程序的摘要
在这里,我开发了三个 WinForm
frmConfigExcel
frmConfigSql
frmConfigTransfer
在 frmConfigExcel
中,通过使用 ExcelManager
类,我检索了我们在 Excel 中需要的数据库以及关联的 SheetName
以及起始单元格和结束单元格。
在 frmConfigSql
中,我实际上建立了一个与 SQL Server 数据库的连接。 最终,在 frmConfigTransfer
中,我使用了一个 gridview
,旨在查看从关联的 ExcelDatabase
检索的数据。 现在的作用是从 SQL Server 数据库中选择表,在最后一个场景中,我选择了 SQL Server 端的列以及 Excel 端的相关列,单击“添加”按钮进行转换。 这就是电影的结尾。 你点击“完成”按钮,现在可以喝咖啡了!
关于作者
我是 Hamid Moghaddam,.NET 程序员,MCP,并且拥有一家公司,Kahroba Inc, Iran, Yazd。
历史
- 2008 年 5 月 25 日th:初始版本