удалить строки в листе Excel, используя JavaScript - PullRequest
0 голосов
/ 29 января 2010

Я пытаюсь отредактировать лист Excel, используя объект activex в Javascript.

Приведенная ниже функция открывает лист Excel и создает несколько записей.

function test() {
var ExcelApp = new ActiveXObject("Excel.Application");
var ExcelSheet = ExcelApp.Workbooks.Open("c:\\jan29.xls");
ExcelSheet.Application.Visible = true;

ExcelSheet.ActiveSheet.Cells(0,1).Value = i;

ExcelSheet.Save;
ExcelSheet.Application.Quit();
}

Но как мне удалить строки, получить количество листов и получить значение по rowColumn. Где я могу получить список APIS?

С уважением, Митхун

1 Ответ

1 голос
/ 29 января 2010

Вы можете найти Справочник разработчика для Excel 2007 на MSDN вместе с (несколько недисциплинированным) Справочник API

Чтобы ответить на ваш вопрос напрямую, я создал демо, которое включает удаление строк.

Рабочая демоверсия

(требуются права IE, Excel и ActiveX)
http://jsbin.com/izule (редактируется через http://jsbin.com/izule)

Источник JavaScript

function test() {
  if (!window['ActiveXObject']) {
    log('Error: ActiveX not supported');
    return;
  }

  try {
    var
      ExcelApp = new ActiveXObject("Excel.Application"),
      ExcelBook = ExcelApp.Workbooks.Add();

    ExcelBook.Application.Visible = true;
    log('Opened Excel');

    wait(2, enterData);
  }
  catch (ex) {
    log('An error occured while attempting to open Excel');
    console.log(ex);
  }

  function enterData() {
    try {
      ExcelBook.ActiveSheet.Cells(1, 1).Value = 'foo';
      ExcelBook.ActiveSheet.Cells(2, 1).Value = 'bar';
      log('Entered data');
    }
    catch (ex) {
      log('An error occured while attempting to enter data');
      console.log(ex);
    }

    wait(2, deleteRow);
  }

  function deleteRow () {
    try {
      ExcelBook.ActiveSheet.Rows(1).Delete();
      log('Deleted first row');
    }
    catch (ex) {
      log('An error occured while attempting to delete a row');
      console.log(ex);
    }

    wait(2, quitExcel);
  }

  function quitExcel () {
    try {
      // Allow excel to quit without prompting user to save.
      ExcelBook.Saved = true;
      ExcelBook.Application.Quit();
      log('Quit excel');
    }
    catch (ex) {
      log('An error occured while attempting to quit excel');
      console.log(ex);
    }
  }
}

function wait (time, action) {
  setTimeout(action, time * 1000);
}

function log (message) {
  var
    list = document.getElementById('log'),
    newLog = document.createElement('li');
  newLog.innerHTML = message;
  list.appendChild(newLog);
}
if (!window['console'] || !window.console['log']) { console = {log: log}; }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...