1

因此,我收到一个 .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 多个条目

4

0 回答 0