2009-03-10 9 views

答えて

1

thro '5000レコードを検索しようとしているので、あなたはthro値を検索しようとしている必要があると仮定します。 interop APIから "Range.Find"を使用して、それを行うことができます。

private void OpenExcelFile() 
{ 
    Excel.Application exlApp = new Microsoft.Office.Interop.Excel.Application(); 

    if (exlApp == null) 
    { 
     MessageBox.Show("Excel app object could not be created"); 
    } 
    else 
    { 

     exlFileSelector.FileName = @"*.xls"; 

     if (exlFileSelector.ShowDialog() == DialogResult.OK) 
     { 
      Excel.Workbook wrkBook = exlApp.Workbooks.Open(exlFileSelector.FileName, 0, true, 5, "", "", true, Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, true, true); 
      Excel.Sheets sheetList = wrkBook.Sheets; 

      Excel.Range search = exlApp.get_Range("A1", "C5"); 
      search.Find("FindMe", null, Excel.XlFindLookIn.xlValues, Excel.XlLookAt.xlWhole, Excel.XlSearchOrder.xlByRows, Excel.XlSearchDirection.xlNext, false, null, null); 
     } 
    } 
} 

さらに読書: How to: Search for Text in Worksheet Ranges

0

あなたの値は、スプレッドシートの数式の1つ、または実際の既定値によって計算された計算値ですか?それは後でだ場合

、あなたはXMLとしてスプレッドシートを保存し、適切にあなたが利用可能なインデックス技術に応じて
または
は、あなたは彼らが、その後、インデックスを検索インデックスにできる可能性がありますそれらを解析し、適切な値を見つけることができます。

私が考えることができるのは、InterOpライブラリを使用してそれぞれを開き、APIを使用することだけです。

+0

これは文字列値です。 – Dhana

+0

検索が簡単になるはずですが、インデックス作成ソリューションは適切でしょうか? – Bravax

1

Excelの検索APIに似ている検索APIをサポートしている.NET用のExcel互換のスプレッドシートコンポーネントです。値や数式を検索したり、数式を計算したり、必要に応じて結果を検索することができます。あなたが無料評価hereをダウンロードすることができ

// Open an xlsx workbook (can also open xls). 
IWorkbook workbook = Factory.GetWorkbook(@"C:\tmp\Data.xlsx"); 

// Find the first cell which starts with "John". 
IRange foundCell = workbook.Worksheets["Sheet1"].Cells.Find("John*", null, 
    FindLookIn.Values, LookAt.Whole, SearchOrder.ByColumns, SearchDirection.Next, true); 
if (foundCell != null) 
    Console.WriteLine("found {0} in cell {1}", foundCell.Text, foundCell.Address); 

:ここでワークブックをロードし、「ジョン」で始まる最初のセルを見つける簡単なサンプルです。

免責事項:私はSpreadsheetGear LLCを所有しています

関連する問題