2016-11-23 15 views
1

Я хочу экспортировать файлы xlsx с помощью js-xlsx на моем сервере Node.JS. Я могу читать файлы и сохранять их. Но поскольку я пытаюсь заполнить таблицу содержанием, это не сработает.Правильно адресовать содержимое xlsx в js-xlsx и манипулировать им

Я заполняю его, используя такие строки:

for (var i = 0; i < workbook.SheetNames.length; i++) { 
    var sheet = workbook.Sheets[workbook.SheetNames[i]]; 
    var studenten = stapel[workbook.SheetNames[i]]; 

    sheet["A1"] = {v: "This is a test!",t:"s"}; 

    workbook.Sheets[workbook.SheetNames[i]] = sheet; 
} 

, я попытался использовать это обозначение для адреса ячейки слишком

{c:0,r:0} 

но я экспортировать свой файл таблицы пусты. Создание разных рабочих листов отлично работает, но я не могу заполнить таблицы содержимым. Может ли кто-то здесь просветить меня о том, как правильно обращаться к таблицам и манипулировать их контентом?

Заранее благодарен!

обновление: даже

function Workbook() { 
    if (!(this instanceof Workbook)) return new Workbook(); 
    this.SheetNames = []; 
    this.Sheets = {}; 
} 

var workbook = new Workbook(); 
workbook.SheetNames.push("1"); 
workbook.Sheets[1] = {'A1': {v: "HI",t:"s"}}; 

не работает. Я думаю, что я не понимаю API!

+0

Используется node-xlsx, чтобы заставить его работать! – DerJulezzz

ответ

0

Я сам наткнулся на это сегодня и нашел время, чтобы найти причину. Решение состоит в том, чтобы установить значение на листе «реф!»:

workbook.Sheets[1] = {'!ref': "A1", 'A1': {v: "HI",t:"s"}}; 

«! Исх» используется для определения области, которая содержит данные внутри листа. Это из официальной документации:

листа [ «! Исй»]: А-1 на основе диапазона, представляющие собой диапазон листа. Функции, которые работают с листами, должны использовать этот параметр для определения диапазона. Клетки, которые назначены вне диапазона, не обрабатываются. В частности, при написании листа вручную ячейки вне диапазона не включены