javascript - 如何仅读取角度 5 中大 xlsx 的前 n 行?
问题描述
我试图在前端显示 xlsx 文件中的几行数据。我想从 excel 文件中读取前 n 行,因为如果我读取整个 excel 文件,这将花费大量时间,而这不是必需的。为此,我正在使用 5kb 进行切片操作。如果文件大小低于 5k(因为我正在阅读完整的 excel),它可以工作,但它不能超过 5kb。我可以在控制台中看到这个错误。
错误:损坏的 zip:找不到中央目录的结尾
您可以在下面查看我的代码。我将文件传递给 readFile 函数。我在下面给出了我的程序的 sudo 代码。
import * as XLSX from 'xlsx';
function readFile(file)
{
var myReader: FileReader = new FileReader();
let slice_file = file.slice(0, 1024*5);
//console.log(slice_file);
let workbook: any;
myReader.readAsArrayBuffer(slice_file)
myReader.onload = (e) => {
try{
workbook = XLSX.read(myReader.result, { type: "array" });
}catch(e){
console.log(e);
}
}
//I will use workbook here
}
据我所知,这是行不通的,因为如果不读取文件的完整大小,它将就像一个损坏的文件。我不想阅读整个文件。我尝试使用二进制格式的文件阅读器,我也将 myReader 结果转换为二进制并尝试使用 XLXS 读取,但没有用。
解决方案
推荐阅读
- sql-server - 基于 SQL Server 2012 中特定列的小计
- c# - 统一捏合和捏出 3D 动画的问题
- javascript - 在 for 循环中使用 createElement() 的自定义单选按钮不会取消选择
- networking - 配置域以将流量发送到特定端口
- c# - C# 在每个等号 (=) 符号前用最后一个空格分割字符串
- php - php mysqli 表格分页
- c++ - 我在哪里可以找到对应于 llvm 命令的 C++ API?
- c# - C# - 在 TextBox 上使用 Async 和 Await 的跨线程错误
- mysql - 加入两个具有相同 id 和 date 的表
- azure - Terraform 配置程序无法在 Azure 上 winrm 到新建的 Windows VM