小编Doo*_*dle的帖子

使用 SheetJS 将包含合并单元格的 .xlsx 文件转换为 JSON

我正在尝试使用 SheetJS 读取 .xlsx 文件并将其转换为 JSON。我能够读取简单的(没有合并单元格).xlsx 文件并将其转换为 JSON,但我无法正确处理合并单元格。

问题是我有一个 .xlsx 文件,其中包含不同语言的产品。

我尝试在不同的网站和 SheetJS 的 github 存储库https://github.com/sheetjs/js-xlsx/#json上寻找解决方案,但效果平平。主要解决如何编写合并单元格。

function handleFile(e) {
   var files = e.target.files, f = files[0];
   var reader = new FileReader();
   reader.onload = function(e) {
      var data = new Uint8Array(e.target.result);
      var workbook = XLSX.read(data, {type: 'array'});
      let result = '';
      let sheet_name_list = workbook.SheetNames;
      // iterate through sheets
      sheet_name_list.forEach(function (y) {

         workbook.Sheets[y]['!merges'].map(r => {
             let startChar = XLSX.utils.encode_range(r).split(':')[0].replace(/[^a-zA-Z]+/g, '');
             let endChar = XLSX.utils.encode_range(r).split(':')[1].replace(/[^a-zA-Z]+/g, '');
             let number = XLSX.utils.encode_range(r).split(':')[0].match(/[+-]?\d+(?:\.\d+)?/g)[0];
             for …
Run Code Online (Sandbox Code Playgroud)

javascript excel sheetjs

6
推荐指数
1
解决办法
6128
查看次数

ExpressJS:在运行时动态添加路由

我希望能够在运行时添加新路由,而无需使用 NodeJS 和 ExpressJS 重新启动服务器。我采用了类似的方法,如本文中所示: https: //alexanderzeitler.com/articles/expressjs-dynamic-runtime-routing/
从技术上讲,我可以在本文中同样在运行时添加新文件和逻辑,但问题是当没有 api 路由匹配时,我将发送 404 JSON 响应(正如它应该的那样)。

我认为我遇到的问题是我的动态创建的路由永远不会到达,因为静态路由优先于动态创建的路由。这意味着创建的路由将在错误处理后安装,因此永远不会到达。我在app.js中的代码

...

// Routes
app.use('/api/products', productRoutes);
app.use('/api/users', userRoutes);

...

/* This is where the dynamically created routes should be mounted */

// Error handling
app.use((req, res, next) => {
    const err = new Error('Not found');
    err.status = 404;
    next(err);
});

app.use((err, req, res, next) => {
    res.status(err.status || 500).json({error: {message: err.message}});
});

/* This is where the dynamic routes are mounted */

module.exports = app;
Run Code Online (Sandbox Code Playgroud)

当我注释掉错误处理时,我能够访问在运行时创建的路由,而通过错误处理,我只能在服务器重新启动后访问动态创建的路由,这是我想避免的。 …

javascript node.js express dynamic-routing

5
推荐指数
1
解决办法
7809
查看次数

标签 统计

javascript ×2

dynamic-routing ×1

excel ×1

express ×1

node.js ×1

sheetjs ×1