|
我这里没有ES5运行环境,所以没办法检查结果是否正确。
- function 提取数据2(){
- var awf=Application.WorksheetFunction;
- var res=[["编号","单位","巡检日期","类别","巡检项","结果","问题","巡检时间","异常检查项"]];
- var dba=Sheets("巡检数据总表").Range("A1").CurrentRegion.Value2;
- dba.slice(1).forEach(function(r,i){
- var bh=r[0];//编号
- var dw=r.slice(-2)[0];//单位
- var rq=r.slice(-3)[0];//巡检日期
- var yc=r.slice(-1)[0];//异常检查项
- for(var j=1;j<r.length-4;j+=4){
- var lb=dba[0][j].replace("巡检项","");//类别
- var xj=r[j]?.replace(/[;。]\s*,*|,\s+/g,";\n")?.replace(/),/g,")\n");//巡检项
- var jg=r[j+1]?.replace(/[;。]\s*,*|,\s+/g,";\n")?.replace(/),/g,")\n");//结果
- var wt=r[j+2]?.replace(/[;。]\s*,*|,\s+/g,";\n")?.replace(/),/g,")\n");//问题
- res.push([bh,dw,awf.Text(rq,"yyyy/mm/dd"),lb,xj,jg,wt,awf.Text(r[j+3],"HH:MM"),yc]);
- }
- });
- with(Sheets("报表")){
- Cells.Clear();
- Range("A1").Resize(res.length,res[0].length).Value2=res;
- }
- }
复制代码
|
|