私は非常に大きなExcelスプレッドシートを持っており、クライアントに送信して製品に変更を加え、クライアントが変更をマークします。スプレッドシートが戻ってきたら、マスターシートで変更を確認する必要があります。製品には固有のコードがありますが、コードを割り当てるまで、新しい製品には新規のマークが付けられます。私のクライアントはExcelに慣れているので、私はこれをExcelで行います。このプロセス全体を自動化する方法を探していますが、どこから始めればよいのかわかりません。Visual Studio Ultimate 2010を使用していて、SQL ServerStandardEditionを使用しています。取得するアプリケーションが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 に答える