目录
前言
本文以一个示例让我们了解了WPS JS开发中While循环语句的一个场景的应用。
一、需要解决的问题
有2430行1列数据,其中从上往下每6行的是某1个人的数据。想把这1列数据转置成每1横行是1个人的6个项目的二维表数据。可能我描述的不够清晰,贴出一个原始数据表的一部分,如下:
二、使用步骤
1.打开WPS ,按Alt+F11进入WPS宏编辑器
依次在菜单上点击“插入”-“模块”,在右侧编辑代码窗口中,输入代码。
代码如下:
function DataBaseRun()
{
Application.ScreenUpdating=false;//关闭屏幕更新
//复制粘贴转置
Range("B1:B6").Select()//引用绝对路径
//引用相对路径,先进行第一次复制转置
ActiveCell.Offset(0, 0).Range("A1:A6").Select();
Selection.Copy(undefined);
ActiveCell.Offset(0, 2).Range("A1").Select();
Selection.PasteSpecial(xlPasteAll, xlPasteSpecialOperationNone, false, true);
//引用西相对路径,进行多次复制转置,设置成循环体
var num=7;
while(Range("A"+num).Value2!=undefined){
ActiveCell.Offset(6, -2).Range("A1:A6").Select();
Selection.Copy(undefined);
ActiveCell.Offset(0, 2).Range("A1").Select();
Selection.PasteSpecial(xlPasteAll, xlPasteSpecialOperationNone, false, true);
num=num+6;
}
//将数据合并在一起
Columns.Item("D:I").Select();
(obj=>{
(obj=>{
obj.Clear();
obj.Add(Range("D1"), undefined, xlAscending, undefined, undefined);
})(obj.SortFields);
obj.Header = xlGuess;
obj.MatchCase = false;
obj.SortMethod = xlPinYin;
obj.Orientation = xlSortColumns;
obj.SetRange(Selection);
obj.Apply();
})(ActiveSheet.Sort);
Selection.AutoFit();
//增加表头
Rows.Item("1:1").Select();
Selection.Insert(xlShiftDown, undefined);
Range("A2:A7").Select();
Selection.Copy(undefined);
Range("D1").Select();
Selection.PasteSpecial(xlPasteAll, xlPasteSpecialOperationNone, false, true);
Columns.Item("D:D").AutoFit();
Columns.Item("D:I").Select();
2.运行结果
点击WPS宏编辑器上的“运行”按钮,运行结果如下:
总结
以上就是今天要讲的内容,本文仅仅简单介绍了在WPS JS中While循环语句的使用。