我有一个非常大的Excel电子表格,我发送给我的客户对他们的产品进行更改并标记更改。当电子表格返回时,我必须使用我的主表验证更改。产品有一个唯一的代码,但在分配代码之前,新产品会被标记为新产品。我在excel中这样做是因为我的客户对excel很满意。 我正在寻找一种自动化整个过程的方法,但不知道从哪里开始。我正在使用Visual Studio Ultimate 2010并拥有SQL Server标准版。 是否有可能有一个应用程序抓取读取excel并将其放入数据库并检查或验证它是否这样做。然后分配主键并生成报告?
答案 0 :(得分:1)
您需要从MSDN库中查看Automating Excel。这将使您开始使用Excel方面。然后只需在标准控制台应用程序中使用数据库并导入。
答案 1 :(得分:0)
如果您想使用C#,请使用Microsoft.Office.Interop.Excel库。如果安装了excel,则可以导入引用。 This可能有用。对于数据库部分,我无法帮助你。
答案 2 :(得分:0)
答案 3 :(得分: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工作表文件的所有数据都加载到数据表对象
中的内存中