0
我应该如何将条件格式添加到我在Node.js中生成的Excel文件中的某些列中?当我将xml添加到工作表中像这样answer时,我在Excel中收到错误,认为文件打开。我产生Node.js的使用xlsx的文件,使Excel文件看起来像这里面:如何在Javascript中添加条件格式到Excel文件?
- Sample.xlsx
- [CONTENT_TYPES] .XML
- ...
- XL
- _rels
- sharedString.xml
- styles.xml
- 主题
- workbook.xml
- 工作表
- sheet1.xml
我写我的条件格式到工作表Sheet1 .xml,他重新是这样做的代码:
var fs = require("fs");
var jszip = require("jszip");
var CONDITIONAL_FORMATTING = '<conditionalFormatting sqref="A1">' +
'<cfRule type="expression" dxfId="0" priority="1"><formula>LEN(A1)&' +
'gt;2</formula></cfRule></conditionalFormatting>';
var WORKSHEET1 = 'xl/worksheets/sheet1.xml';
fs.readFile("excel/rewrite.xlsx", function(err, data) {
jszip.loadAsync(data).
then(function(zip) {
rezip = zip;
return zip.file(WORKSHEET1).async("string");
}).then(function (worksheet) {
var pos = worksheet.indexOf('<pageMargins');
if(pos > 0) {
worksheet = worksheet.substring(0,pos) +
CONDITIONAL_FORMATTING + worksheet.substring(pos);
}
rezip.file(WORKSHEET1,worksheet);
rezip.generateNodeStream({type:'nodebuffer',streamFiles:true})
.pipe(fs.createWriteStream('out.xlsx'))
.on('finish', function() {
console.log('done');
});
});
});