2017-03-02 6 views
0
Workbook SourceFile = oXLSrc.Workbooks.Open(Path.GetFileName(fileName), true); 
TestSheet.get_Range("E33", Type.Missing); 

シートには値があり、コンボボックスとデータ検証です。このComboBoxの値は別のワークシートから取得されています。 C#でExcelを開くと、すべての値がNULLになります。しかし、それを通常のExcelで開くとうまくいき、データがそこにあります。私は何が欠けていますか?Excelはルックアップに失敗する数式で値を読み取る

+0

を参照してください。セル 'E33'にはコンボボックスが含まれていますか?データの検証は心配していませんが、ここで何を得ようとしているのか分かりません。 'E33'の値や数式は? ComboBoxの内容は? 'TestSheet'はどのように見えますか? – reasra

+0

TestSheet.get_rangeには何が割り当てられていますか? – Drakestar

答えて

0

上記のコードに基づいて、get_Range()の結果を変数に代入していません。私は

private Workbook m_Workbook; // The currently opened Excel file     
...  
dynamic cellValue;  
Worksheet sheet = null; 

try 
{ 
    sheet = (Worksheet)m_Workbook.Worksheets[0]; 
    cellValue = sheet.get_Range("E33").Value2; 
} 
catch (Exception e) 
{ 
... 

データ検証やコンボボックスは、これに織り込むべきではない...のようなものを見ることを期待しています。 テキストvs値vs値2の詳細については、https://fastexcel.wordpress.com/2011/11/30/text-vs-value-vs-value2-slow-text-and-how-to-avoid-it/

関連する問題