0

私は非常に大きなExcelスプレッドシートを持っており、クライアントに送信して製品に変更を加え、クライアントが変更をマークします。スプレッドシートが戻ってきたら、マスターシートで変更を確認する必要があります。製品には固有のコードがありますが、コードを割り当てるまで、新しい製品には新規のマークが付けられます。私のクライアントはExcelに慣れているので、私はこれをExcelで行います。このプロセス全体を自動化する方法を探していますが、どこから始めればよいのかわかりません。Visual Studio Ultimate 2010を使用していて、SQL ServerStandardEditionを使用しています。取得するアプリケーションがExcelを読み取り、それをデータベースに入れて、そのようにチェックまたは検証することは可能ですか。次に、主キーを割り当ててレポートを生成しますか?

4

4 に答える 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

では、Excel スプレッドシートを自分で XML に変換してから、データをデータベースに移動してみてはいかがでしょうか。このLINKとこのLINKとこのLINKも見てください。

于 2012-07-10T13:51:59.737 に答える
0

C# で作業する場合は、Microsoft.Office.Interop.Excel ライブラリを使用します。Excel がインストールされている場合は、参照をインポートできます。これは使えるかもしれません。データベースの部分については、お手伝いできません。

于 2012-07-10T13:41:37.710 に答える