源网址
1 前言
最近有个需求,需要使用JS快速读取外部大数据文件(60w条记录的表)。笔者尝试过使用JS读取Excel文件,但是跑了十几分钟仍未出结果,后来笔者尝试将原数据保存为TXT文件,再从TXT文件中读取数据,只需几秒钟即可读取完毕。在此分享一下,也留着以后备用。
2 案例
为方便快速理解,笔者挑选了一个数据量小、业务逻辑简单的案例:从TXT文件中读取数据,并按照原列表格式显示。
![](https://image.shishitao.com:8440/aHR0cHM6Ly9pbWctYmxvZy5jc2RuaW1nLmNuLzIwMTkwNjIwMTAyMTQ1MTcucG5n.png?w=700&webp=1)
![](https://image.shishitao.com:8440/aHR0cHM6Ly9pbWctYmxvZy5jc2RuaW1nLmNuLzIwMTkwNjIwMTAxODE5MjkwLnBuZw%3D%3D.png?w=700&webp=1)
read.html
-
<!DOCTYPE html>
-
<html>
-
<head>
-
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
-
<title>读取TXT文件</title>
-
</head>
-
<body>
-
<div id="text"></div>
-
-
<script language="javascript">
-
fso=new ActiveXObject("Scripting.FileSystemObject");
-
var f=fso.OpenTextFile("C:\\Users\\81518\\Desktop\\demo\\test.txt"); //这里必须为绝对路径
-
var str="";
-
while(!f.AtEndOfStream){
-
var temp=f.ReadLine().split(); //读取一行数据并按空格分割
-
for(i=0;i<temp.length;i++){
-
str+=temp[i]+" ";
-
}
-
str+="<br>";
-
}
-
document.getElementById("text").innerHTML=str;
-
</script>
-
-
</body>
-
</html>
![](https://image.shishitao.com:8440/aHR0cHM6Ly9pbWctYmxvZy5jc2RuaW1nLmNuLzIwMTkwNjIwMTAyNTQ4ODk5LnBuZw%3D%3D.png?w=700&webp=1)
注意:ActiveXObject类是IE浏览器独有,所以应用IE浏览器打开。
![](https://image.shishitao.com:8440/aHR0cHM6Ly9pbWcyMDIyLmNuYmxvZ3MuY29tL2Jsb2cvMzU2OTUvMjAyMjAzLzM1Njk1LTIwMjIwMzA4MTE0MTM2MzE5LTEwNTkzMDY1ODAuanBn.jpg?w=700&webp=1)