所以我使用的是我自己构建的SharePoint Web部件(HTML表单Web部件)来查询我们的Sharepoint站点上托管的excel文件。我写了javascript来创建一个Excel ActiveX对象,我可以很好地搜索工作表。
然而,我需要让它搜索完全匹配(整个单元格)而不仅仅是部分。我知道我需要的代码,但我无法使其正常工作。我需要找出如何为" xlWhole"创建正确的对象类型。 " Find()"的参数功能
我遇到问题的代码行被注释掉了,因为那不起作用。任何见解?我已经看过Range.Find方法,但我无法使其正常工作。
var excel = new ActiveXObject("Excel.Application");
var wb = excel.Workbooks.Open("workbook path");
var ws = wb.Worksheets("worksheet name");
var ws = wb.ActiveSheet;
//var cell = ws.Cells.Find(str,excel.XlLookAt.xlWhole);
var cell = ws.Cells.Find(str);
foundRow = cell.Row;
答案 0 :(得分:2)
这对我有用:
function searchExcel()
{
var excel =new ActiveXObject("Excel.Application");
excel.visible=true;
var wb = excel.workbooks.open("D:\\Analysis\\tmp\\Book1.xlsx");
var ws = wb.sheets(1);
var str="Value1";
// .Find(What, After, LookIn, LookAt, SearchOrder, SearchDirection,
// MatchCase, MatchByte, SearchFormat)
var cell = ws.Cells.Find(str,ws.Cells(1),-4163,1)
alert(cell?cell.Row:(str+" not found"));
excel.quit();
}
我猜你从js使用COM时不能跳过参数(但你可以把它们放在最后)。