统计同名数据基于html js

1.教程

1将数据从cad复制到excell
2.新建txt文件,将excell中的全部数据复制到txt文件中
3.使用edge打开统计同名数据.html
4.选择txt文件,确认,就会显示了

2.数据示例

可以有空格,回车,形式为:

名称 数量

DN150球铁平插 9
DN150*90°球铁双平弯头 11
DN150*50球铁双平短管 9
DN150阀门 2

DN150伸缩节 2
DN150止回阀 1

DN150*100球铁双平大小头 2
DN100*90°球铁双平弯头 33
DN150止回阀 1

3.代码

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <input type="file" name="file" id="file" />
    <br>
    <textarea id="result" name="userName" cols="50" rows="30" >
        结果展示区域
    </textarea>
</body>
<script>
    document.getElementById('file').onchange = function () {
        var file = this.files[0];
        var reader = new FileReader();
        reader.onload = function (progressEvent) {
            var fileContentArray = this.result.split(/\r\n|\n/);
            var datas = [];
            for (var n = 0; n < fileContentArray.length; n++) {
                var line = fileContentArray[n];
                var item = {
                    name: "",
                    num: 0
                }
                if (line !== '\t' && line.length > 0) {
                    var it = line.split(/\t/);
                    item.name = it[0]; item.num = +it[1];
                    datas.push(item)
                }
            }
            var dict = {};
            for (var n = 0; n < datas.length; n++) {
                dict[datas[n].name] = 0;
            }
            for (var n = 0; n < datas.length; n++) {
                dict[datas[n].name] += datas[n].num;
            }
            var result = "";
            for (var key in dict) {
                result += key + "\t" + dict[key] + '\n'

            }
            document.getElementById('result').value=result;
            console.log(result)
        };
        reader.readAsText(file);
    };
</script>

</html>
posted @ 2023-05-29 21:52  超安全  阅读(56)  评论(0)    收藏  举报