2012-02-16 13 views
0

私はVS20010でAccess 2007、SQL Server 2005および2008、およびC#.netを使用します。Excelからインポート

SPドキュメントライブラリに投稿されたExcelブックを検証してインポートする必要があります。私はA2k7でVBAを使ってプログラムを書いたので、私はそれを働かせることができ、私の考えをまとめることができました。まもなく、C#に変換してSQL Serverエージェントからスケジュール通りに実行できるようにします。認証は楽しいことがあります。

私のAccess VBAプログラムでは、単純なステートメントを使用して、多次元配列の「バリアント」を作成します。これにより、ローカル変数に割り当てる前に、すべての単一セルを正しいタイプでテストすることができます。特定のセルは数値でなければなりません。他のものでは、数値であっても文字列として使用します。データが手入力されている可能性があるので、ほとんどの輸入車(ACCESS、SSIS)が列の "タイプ"。

' 
' Get the range of used cells from the worksheet and stuff it into an array 
' 
xlApp.visible = False     'Don't let the workbook be shown 
Set xlWB = xlApp.Workbooks.Open(URL) 'Open the workbook 
Set xlSH = xlWB.Worksheets(1)   'Must be the first worksheet in the workbook 
HandleMessages 1, 0, 1, "Working on Workbook " & xlWB.NAME & ", Worksheet " & xlSH.NAME 
Set xlRA = xlSH.UsedRange    'xlRA is the range of cells in the first workbook that are "USED" 
strSheetArray = xlRA     'This sets an array of variants to the two dimensional range xlRA 

したがって、C#に行くと、型が指定されていない「variant」の欠如についてどうしますか?どのように進めますか?誰でもそれをやった?

答えて

0

C#4.0ではdynamicを使用できます。

http://msdn.microsoft.com/en-us/library/dd264736.aspx

タイプは静的タイプであるが、型ダイナミックの目的は 静的な型チェックをバイパスします。ほとんどの場合、それはタイプ オブジェクトのように機能します。コンパイル時には、動的に型指定された要素は、任意の操作をサポートすると仮定して、 となります。したがって、 オブジェクトがその値をCOM APIから IronPythonなどの動的言語から、HTMLドキュメントオブジェクト モデル(DOM)、反射から、またはどこかから取得するかどうかを心配する必要はありませんそうでなければプログラム内にある。 ただし、コードが有効でない場合、実行時にエラーがキャッチされます。

Excelにdynamicを使用した例を示します。

関連する問題