我有一个非常大的 Excel 电子表格,我将其发送给我的客户以更改他们的产品并标记更改。当电子表格返回时,我必须用我的主表验证更改。产品有唯一的代码,但在我分配代码之前,新产品会被标记为新产品。我在 excel 中这样做是因为我的客户对 excel 感到满意。我正在寻找一种方法来自动化整个过程,但不知道从哪里开始。我正在使用 Visual Studio Ultimate 2010 并拥有 SQL Server 标准版。是否有可能让一个应用程序抓取读取 excel 并将其放入数据库并在执行过程中进行检查或验证。然后分配主键并生成报表?
问问题
3139 次
4 回答
1
您需要从 MSDN 库中查看Automating Excel 。这将使您开始使用 Excel 端。然后只需在标准控制台应用程序中使用数据库并导入即可。
于 2012-07-10T13:32:11.113 回答
0
这只是一个想法,并不是一个完整的开发解决方案,但您可以使用 OleDb 访问您的 excel 文件并读取其内容,就像它是一个数据库表一样。
然后由您决定连接到您的主数据库 (SqlServer) 并应用将一个数据源“合并”到另一个数据源所需的逻辑
DataTable myTable = new DataTable();
string con = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\temp\test.xls;" +
"Extended Properties='Excel 8.0;HDR=No;'";
using(OleDbConnection c = new OleDbConnection(con))
{
c.Open();
string selectString = "SELECT * FROM [Sheet1$]";
using(OleDbCommand cmd1 = new OleDbCommand(selectString))
{
cmd1.Connection = c;
using (OleDbDataReader myReader = cmd1.ExecuteReader())
{
myTable.Load(myReader);
}
}
}
现在,第一个 excel 工作表文件中的所有数据都加载到数据表对象内的内存中
于 2012-07-10T14:09:14.353 回答
0
如果您想在 C# 中工作,请使用 Microsoft.Office.Interop.Excel 库。如果您安装了 excel,您可以导入参考。这可能有用。对于数据库部分,我帮不了你。
于 2012-07-10T13:41:37.710 回答