必要:
WeChat グループはたくさんあり、ソリティアをプレイして個人名と英語名を入力できます。元のデータ形式は次のとおりです。
#接龙
为了双师课堂的有效进行,现需要统计学生的英文名字,如下
1. 一2班+中文名+英文名
2. 一2班+孟诗达+King
3. 一2班+汤博源+Peter
4. 一2班+邓冠涵+Tracy
5. 一2班 胡思沁 Elsa
6. 一2班+陈烯琪+Crystal
7. 一2班+丁梓鸣+Apple
8. 一2班郭兆艺+George
9. 一2班 冯语铄 Steven
クラスが多いため、これらのデータを要約して Excel にエクスポートする必要があるため、データを分析して CSV ファイルをエクスポートするための小さなツールを作成するのに 30 分かかりました。効果は次のとおりです。
Excelで開くと以下のような効果があります。
次のようにソースコードを添付します。
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=1380">
</head>
<body>
<textarea id="content" rows="50" cols="100" placeholder="把微信里的接龙信息全部复制到这个框里,然后点格式化"></textarea>
<button onclick="format()" style="position:absolute;top:313px;left:738px">格式化>></button>
<button onclick="download()" style="position:absolute;top:393px;left:738px">结果下载</button>
<textarea id="result" rows="50" cols="100" style="margin-left:100px" placeholder="格式化结果显示框"></textarea>
</body>
<script>
function format(){
document.getElementById("result").value =""
var content = document.getElementById("content").value;
if(content){
var array = content.match(/(\d+)\.\s*([一二三四五六]\d+班).?([\u4e00-\u9fa5]+).?(\w+)/g);
for(var i=0;i<array.length;i++){
var line = array[i];
line.match(/(\d+)\.\s*([一二三四五六]\d+班).?([\u4e00-\u9fa5]+).?(\w+)/g);
var result = RegExp.$2+","+RegExp.$3+","+RegExp.$4;
document.getElementById("result").value = document.getElementById("result").value+result+"\n"
}
}
}
function download( ){
var array = document.getElementById("result").value.split("\n")
var data = [];
for(var i=0;i<array.length;i++){
var line = array[i];
var lineData = line.split(",");
var className = lineData[0];
var cname = lineData[1];
var ename = lineData[2];
data.push({className:className,cname:cname,ename:ename})
}
JSONToExcelConvertor(data)
}
function JSONToExcelConvertor( data) {
var content = "班级,中文姓名,英文姓名\r\n";
for (var i = 0; i < data.length; i++) {
if(data[i].cname){
content+=data[i].className+","+data[i].cname+","+data[i].ename+"\r\n";
}
}
var uri = new Blob(['\ufeff' + content], {type:"text/csv"});
if (window.navigator && window.navigator.msSaveOrOpenBlob) { // for IE
window.navigator.msSaveOrOpenBlob(content, "下载的表格.csv");
} else {
var link = document.createElement("a");
link.href = URL.createObjectURL(uri);
link.style = "visibility:hidden";
link.download = "下载的表格.csv";
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
}
}
</script>
</html>