xlsx 文件的本质
xlsx 文件是一个压缩包,里面包含了很多 xml 文件,这些 xml 文件就是 excel 的数据。
解析 xlsx 文件
修改 xlsx 文件的后缀为 zip,解压后可以看到里面的文件结构如下:
├── _rels
│ └── .rels
├── docProps
│ ├── app.xml
│ ├── core.xml
│ └── thumbnail.jpeg
├── xl
│ ├── _rels
│ │ └── workbook.xml.rels
│ ├── workbook.xml
│ ├── worksheets
│ │ └── sheet1.xml
│ └── sharedStrings.xml
└── [Content_Types].xml
JS 解析 xlsx 文件
用下面这两个包基本就可以解析 xlsx 文件了。
var JSZip = require('jszip')
var xml2js = require('xml2js')
解析 xlsx 文件的代码如下:
read: function (opts, cb) {
var me = this
var t = me.zip.file(opts.file).asText()
var parser = new xml2js.Parser({ explicitArray: false })
parser.parseString(t, function (err, o) {
if (err) {
return new VError(err, 'getXML')
}
cb(err, o)
})
}
还有其他的解析 xlsx 文件的包
上一篇
React 中使用定时器和性能优化
本文探讨在 React 中使用定时器的最佳实践,包括如何利用 `requestAnimationFrame`、`performance.now()` 等 API 提升性能,并结合 `useMemo`, `useRef`, `useCallback`, `useEffect` 等 Hook 进行优化,避免常见的性能问题。文章分析了示例代码,并对 `requestAnimationFrame` 和 `setTimeout` 的区别进行了讲解。
下一篇
Nginx proxy_pass 配置详解
本文详细解释了 Nginx 中 `proxy_pass` 指令的各种用法,包括 `proxy_pass` URL 是否包含路径、与正则表达式结合使用以及 URL 重写等场景,并通过大量示例代码进行说明,帮助读者理解和掌握 Nginx 反向代理配置。