我正在尝试使用 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)