#javascript #activex
#javascript #activex
Вопрос:
я пытаюсь получить общее количество строк в моем листе Excel с помощью javascript. вот мой код
var Excel;
Excel = new ActiveXObject("Excel.Application");
Excel.Visible = false;
a= Excel.Workbooks.open("C:/work/ind.xls").ActiveSheet.Cells(1,1).value;
alert(a);
это показывает значение по 1-му индексу, но мне было интересно, есть ли какая-либо возможность получить общее количество строк этого активного листа.
Спасибо
Комментарии:
1. Excel. Рабочие книги. ActiveSheet. Cells возвращает объект Range. Вы пробовали использовать Count? Что-то вроде этого? ‘Excel. Workbooks.open(«C:/work/ind.xls «). ActiveSheet. Ячейки (1,1).Количество’
2. спасибо, он показывает «1», потому что 1,1 означает 1-ю строку, 1-й столбец, так что определенно на листе Excel есть только 1 первая строка и 1 первый столбец, но я хочу знать общее количество строк .. если я использую . ActiveSheet. Ячейки. Подсчитайте, это даст мне общее количество строк на листе, равное 677777, но я хочу получить только те строки, которые активны / заполнены, для чего я пытался. ActiveSheet. Ячейки.активны. Подсчитайте, но это ничего не дает, не работает
3.
ActiveSheet.UsedRange.Rows.Count
— что-то вроде этого?
Ответ №1:
Заменить
a = Excel.Workbooks.open("C:/work/ind.xls").ActiveSheet.Cells(1,1).value;
с помощью
a = Excel.Rows.Count; //Depending on excel version, you will get either 65536 or 1048576
или
a = Excel.Workbooks.open("C:/work/ind.xls").ActiveSheet.Cells.UsedRange.Count; //It will provide total used rows.
Примечание: ActiveXObject доступен только в браузере IE. Таким образом, каждый другой пользовательский агент выдаст ошибку