考场安排-永中office

4 篇文章 0 订阅
4 篇文章 0 订阅

终于做了个小成品出来。是有关于学生考场分配的。电子表格发在“https://download.csdn.net/download/aybzliuzy/12900839”。0积分下载,利用永中office打开。因为我用的是深度里面的永中office2019体验版,所以没有做成有按钮的。

void fillkczh(int frc,int bgkc,int edkc,int rs)

{

    Worksheet st2=Application.getWorkbooks().getActiveWorkbook().getWorksheets().getWorksheet(2);

    int ii=frc;

    for (int i=bgkc;i<=edkc;i++)

    {

        for (int j=1;j<=rs;j++)

        {

             if (!"".equals(st2.getCellString(ii, 1)))

             {

                 st2.setCellValue(ii,5,i);

                 st2.setCellValue(ii,6,j);

                 ii++;

             }

        }

    }

}

void paixu(int i)

{

    Worksheet st2=Application.getWorkbooks().getActiveWorkbook().getWorksheets().getWorksheet(2);

    Range range=st2.getRange("A1:G5000");

    SortProperties px=new SortProperties();

    px.setSortKey1(i);

    px.setOrder1(true);

    px.setRowHeader(true);

    range.sort(px);

}


void MEP()

//MakeupExaminationPlace

{

    Worksheet st1=Application.getWorkbooks().getActiveWorkbook().getWorksheets().getWorksheet(1);

    Worksheet st2=Application.getWorkbooks().getActiveWorkbook().getWorksheets().getWorksheet(2);

    Range range=st2.getRange("D2:F5000");

    range.clear();

    paixu(3);
    
    int ii=3;

    int ik=0;

    while (!"".equals(st1.getCellString(ii, 5)) || !"".equals(st1.getCellString(ii, 6)))
	{

        for (int x=1+(int)st1.getCellValue(ii,5);x<2+st1.getCellValue(ii,6);x=x+1)

        {

            if(!"".equals(st2.getCellString(x, 1)))

            {

                st2.setCellValue(x,4,ik+Math.random());

            }

        }

        ii++;

        ik++;

    }

    paixu(4);

    ii=2;

    while (!"".equals(st2.getCellString(ii, 1)))
	{

        st2.setCellValue(ii,4,(ii-1));

        ii++;

    }

    ii=3;

    ik=2;

    while (!"".equals(st1.getCellString(ii, 1)) || !"".equals(st1.getCellString(ii, 2))|| !"".equals(st1.getCellString(ii, 3)))

    {

        fillkczh(ik,(int)st1.getCellValue(ii,1),(int)st1.getCellValue(ii,2),(int)st1.getCellValue(ii,3));

        ik=ik+((int)st1.getCellValue(ii,2)-(int)st1.getCellValue(ii,1)+1)*(int)st1.getCellValue(ii,3);

        ii++;

    }


}

代码就是这个代码,设计思想是先按排名排序,按规则生成随机数,然后按随机数排序,按考场及人数排考场及座号。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值