問題: 我的代碼總是返回,而不是13C#,打開excel文件並應用篩選器來檢索特定的行?
代碼一行:
Excel.Application xlApp = null;
Excel.Workbook xlWorkBook = null;
Excel.Worksheet xlWorkSheet = null;
Excel.Range xlrange = null;
string sCurrentDir = Directory.GetCurrentDirectory();
xlApp = new Excel.Application();
xlWorkBook = xlApp.Workbooks.Open(sCurrentDir + @"\Res\res.xlsx", 0, true, 5, "", "", true, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "\t", false, 0, true, 1, 0);
xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);
xlrange = xlWorkSheet.UsedRange;
xlrange.AutoFilter(5, "4", Excel.XlAutoFilterOperator.xlFilterValues, Type.Missing, true);
Excel.Range filteredRange = xlrange.SpecialCells(Excel.XlCellType.xlCellTypeVisible, Excel.XlSpecialCellsValue.xlTextValues);
MessageBox.Show(filteredRange.Rows.Count.ToString());
,你可以看到,我想過濾柱5值爲「4」。它應該返回13行,但總是返回1行。
任何幫助將讚賞
多少行,你期待?如果您使Excel應用程序可見,那麼過濾看起來已經完成了您的預期? – mjwills
另一方面,您設置'xlWorkBook'(和其他變量)的方式可能會導致您遇到問題。見https://ausdotnet.wordpress.com/category/technical/com-interop/(搜索「恐懼期」)。 – mjwills
@mjwills嗨,謝謝你的回覆。請參閱更新。我檢查了你的鏈接,但它沒有幫助我。 –