2015-06-16 2 views
0

Я создал приложение панели задач excel с API JavaScript для Microsoft Word. Я создал привязку к листу excel, который содержит некоторые данные.Каков максимальный размер данных для привязок матриц в приложении Task Task приложения Excel?

Что-то вроде:

Column1 | Column2 
Value1 | Value2 
Value1 | Value1 
Value2 | Value3 

My App создали таблицу для каждого столбца (с dc.js). Затем Пользователь может фильтровать диаграммы, чтобы приложение могло записывать отфильтрованные данные в привязку.

Все работает отлично с небольшим диапазоном привязки. Когда я увеличиваю диапазон привязки приблизительно до 1500 строк и 3 столбцов, он не будет обновлять данные привязки. Excel не показывает мне некоторые ошибки, он просто ничего не делает.

Это упрощенная версия моего кода:

createBinding({ id, callback =()=>{}, type = 'matrix' }) { 
    Office.context.document.bindings.addFromSelectionAsync(type, {id}, callback); 
} 

// options = { coercionType: "matrix" } 
setBindingData({ id, data, options, callback }) { 
    Office.select(`bindings#${id}`).setDataAsync(data, options, callback); 
} 

Я думаю, что проблема является максимальным размером всех данных. Но я хотел бы знать, что такое максимальный размер? Я не мог найти что-то в stackoverflow или документации Microsoft.

ответ

1

Возможно, это связано с тем, что O365 не разрешает какой-либо отдельной операции повесить приложение более 5 секунд. Попробуйте использовать асинхронные вызовы.

+0

спасибо за подсказку (+1), но 'setDataAsync' уже асинхронен. – marcel

0

Меня тоже интересовал этот вопрос, поэтому я провел несколько тестов, и, кажется, существует огромная разница между пустыми ячейками и данными. Я мог связывать и читать данные из почти 4 миллионов пустых ячеек. Но когда я добавил некоторые простые данные, это приблизилось к 90 000 ячеек. Форма привязки, похоже, не слишком значительна, будь она высокой или широкой. Поэтому я подозреваю, что ваши ячейки могут иметь гораздо больше данных в них, чем мои тестовые данные.

Возможно, вам удастся что-то обработать, используя обработчик documentselectionchanged. Например. цикл через строки и по мере того, как он меняет данные.

Для получения дополнительной информации см. http://microsoft-office-add-ins.com.