如何使用xlsx npm软件包在.xlsm文件中进行编写而又不丢失其样式

时间:2018-07-24 09:52:32

标签: excel npm protractor js-xlsx sheetjs

我希望使用xlsx npm软件包将一个值写入正在读取的同一文件(即.xlsm(启用宏的工作簿)中),而又不丢失图纸样式(即工具提示/图像/边框/对齐方式等), )

我已经在互联网上搜索了近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 个答案:

没有答案