0

我有一个非常大的 Excel 电子表格,我将其发送给我的客户以更改他们的产品并标记更改。当电子表格返回时,我必须用我的主表验证更改。产品有唯一的代码,但在我分配代码之前,新产品会被标记为新产品。我在 excel 中这样做是因为我的客户对 excel 感到满意。我正在寻找一种方法来自动化整个过程,但不知道从哪里开始。我正在使用 Visual Studio Ultimate 2010 并拥有 SQL Server 标准版。是否有可能让一个应用程序抓取读取 excel 并将其放入数据库并在执行过程中进行检查或验证。然后分配主键并生成报表?

4

4 回答 4

1

您需要从 MSDN 库中查看Automating Excel 。这将使您开始使用 Excel 端。然后只需在标准控制台应用程序中使用数据库并导入即可。

于 2012-07-10T13:32:11.113 回答
0

好的,如何将 Excel 电子表格最终转换为 XML,然后将数据移动到您的数据库中,看看这个LINK和这个LINK以及这个LINK

于 2012-07-10T13:51:59.737 回答
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 回答