私はExcelから5000レコード以上の値を検索する必要があります。.netアプリケーションからExcelの値を検索する方法は?
Windowsの.netアプリケーションでこれを達成する最良の方法は何ですか?
私はExcelから5000レコード以上の値を検索する必要があります。.netアプリケーションからExcelの値を検索する方法は?
Windowsの.netアプリケーションでこれを達成する最良の方法は何ですか?
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);
}
}
}
あなたの値は、スプレッドシートの数式の1つ、または実際の既定値によって計算された計算値ですか?それは後でだ場合
、あなたはXMLとしてスプレッドシートを保存し、適切にあなたが利用可能なインデックス技術に応じて
または
は、あなたは彼らが、その後、インデックスを検索インデックスにできる可能性がありますそれらを解析し、適切な値を見つけることができます。
私が考えることができるのは、InterOpライブラリを使用してそれぞれを開き、APIを使用することだけです。
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を所有しています
これは文字列値です。 – Dhana
検索が簡単になるはずですが、インデックス作成ソリューションは適切でしょうか? – Bravax