そこで、.xslx ファイルを受け取り、それを解析して最初の列を取得し、値を DataMatrix バーコード イメージに変換してから、すべてを .zip アーカイブに保存します。
const express = require('express')
const fileUpload = require('express-fileupload');
const xlsx = require('xlsx')
const bwipjs = require('bwip-js');
const admzip = require('adm-zip')
const app = express()
app.use(fileUpload());
app.post('/create', async (req, res) => {
if(req.files.sampleFile) {
var file = xlsx.read(req.files.sampleFile.data)
var worksheet = file.Sheets[file.SheetNames[0]]
var counter = 1
var zip = new admzip()
for(let z in worksheet) {
if(z.toString()[0] == "A") {
bwipjs.toBuffer({
bcid: 'datamatrix', // Barcode type
text: worksheet[z].v, // Text to encode
scale: 3, // 3x scaling factor
padding: 10,
textxalign: 'center', // Always good to set this
backgroundcolor: 'ffffff'
}, (err, png) => {
if(err) {
console.log(err)
} else {
zip.addFile(`barcode${counter}.png`, png, "", 0400)
counter++
}
})
}
}
console.log('done zipping')
zip.writeZip(__dirname + 'stickers.zip')
res.send('Check fs and console')
} else {
res.send("no sample file")
}
app.listen(3000, () => {
console.log("Armed and ready on port 3000. Address: http://127.0.0.1:3000/")
})
したがって、.zip ファイルを保存しようとするまで、すべてが正常に機能します。私は何も得られません。エラーメッセージもファイルも何もありません。
何もエラーがスローされない場合、何が問題なのですか?
編集: .xlsx ファイルには 600 以上のエントリが含まれています