Как написать в файл.xlsm, используя пакет xlsx npm, не теряя своего стиля

Я хочу, чтобы значение было записано в тот же файл, который я читаю (т. Е..Xlsm (книга с поддержкой макросов), используя пакет xlsx npm без потери стиля листа (т. Е. Всплывающая подсказка / images / border / alignment и т. Д., И т. Д.)

Я искал в интернете почти 5 часов, чтобы найти примеры пакетов xlsx с функциями записи, но не повезло. Объяснение / примеры в https://www.npmjs.com/package/xlsx не достаточно ясны или не подходят для такого начинающего, как я и многие другие.

Ниже приведен фрагмент кода, который я использую для написания:

if(typeof require !== 'undefined') XLSX = require('C:\\Program Files\\nodejs\\node_modules\\npm\\node_modules\\xlsx');
var workbook = XLSX.readFile('xlsm_File');
var first_sheet_name = workbook.SheetNames[0];
var address_of_cell = 'D5';
var worksheet = workbook.Sheets[first_sheet_name];
desired_cell = worksheet[address_of_cell].v;
//desired_value = (desired_cell ? desired_cell.v : undefined);
worksheet[address_of_cell].v = 'NEW VALUE from NODE';
XLSX.writeFile(workbook, 'xlsm_File');

С приведенным выше кодом, я сталкиваюсь со следующими проблемами:

  1. Стиль листа потерян (Пример: теперь всплывающая подсказка отображается как текстовое поле с константой. Изображения, которые были доступны ранее, теряются после записи. Формат границ / ячеек всего листа Excel теряется после того, как новое значение было помещено в конкретную ячейку)
  2. На самом деле лист Excel поддерживает макросы (файл.xlsm). Итак, нужно ли нам включить содержимое макроса, а затем записать значение в соответствующую ячейку. Это решило бы эти проблемы? Если да, как это делается?
  3. Кроме того, как выбрать значение из раскрывающегося списка значений соответствующей ячейки (также есть несколько ячеек со значениями раскрывающегося списка)?

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

Заранее спасибо!

0 ответов

Другие вопросы по тегам