您好,我看到您的问题很久没有人来回答,但是问题过期无人回答会被扣分的并且你的悬赏分也会被没收!所以我给你提几条建议一,你可以选择在正确的分类下去提问,这样知道你问题答案的人才会多一些,回答的人也会多些。二,您可以到与您问题相关专业网站论坛里去看看,那里聚集了许多专业人才,一定可以为你解决问题的。三,你可以向你的网上好友问友打听,他们会更加真诚热心为你寻找答案的,甚至可以到相关网站直接搜索四,网上很多专业论坛以及知识平台,上面也有很多资料,我遇到专业性的问题总是上论坛求解决办法的。五,将你的问题问的细一些,清楚一些!让人更加容易看懂明白是什么意思谢谢采纳我的建议
建议你试用创鸿coho的加班管理系统,电22816462,创鸿coho 服务好!质量好!
人事考勤假期缺勤差勤的管理完全采用SAAS模式,客户不需要承担任何软硬件、 *** 作系统、数据库、服务器、终端刷卡机等投资。
多种考勤识别方式,满足用户个性需求:射频卡、密码,摄像拍照驱动,可任意组合识别。
1无线实时传输和脱机使用自动切换。
2普通局域网和互联网安全通信数据。
3考勤数据实时传送,利用稳定的网络平台,大大提高了考勤数据的可靠性。
4多语言菜单:中文简体、中文繁体、英文。
5、 远程访问,不受地点的限制:具有分布性特点,可以随时随地进行查询、浏览等业务处理。
6、 维护成本低:客户端不必安装及维护,只要有IE浏览器,一次性投入永久免除客户端维护升级。
7、 系统扩展方便:所有功能通过采用模块式叠加 *** 作,功能扩展及升级方便。
8、 管理无纸化:系统所有请假,加班补卡均采用网上申请,网上审批,员工可以自助,各级领导按权限查询,各类查询及统计结果可做到“所见即所得”,随时导出为EXCLE文件,不仅大大提高了管理效率,而且系统管理实现完全无纸化。
9、 将复杂的管理工作量分摊化: 由于采用了B/S架构的设计,充分应用了互联网的资源优势,做到集中控制、分布管理。无论是用户办公地点集中还是分散,通过局域网或广域网,经过严格的授权,可将管理工作量分摊化,管理者无论身在何处,只要能上网,就可以随时随地履行管理的职责,使管理的各个环节,人尽其能、人尽其责,信息交流及时、畅通,查询统计便捷、准确,管理工作变得简单而轻松。
创鸿coho
附件是我2009年做的,给你做个参考。
说实话用Excel做这种考勤比较痛苦,因为数据要进行多次判断。
我是用Acess做的宏自动导入每月数据(和你的原数据类似),在Acess中处理,然后将结果导出至Excel。
如果你懂Access,或者SQL等数据库的话,可以尝试以下思路:
1
由于每月日期不同,结果表的列肯定不同。用Cross-Tab查询,日期为列,并将结果导入到一个结果表。每次运行Access的宏会先删除这个表,并从Cross-Table查询重新建立。
2
员工号有效性判断。有些访客也打卡,要把他们剔除!@#¥#!有些卡编号有误,比如前面多个空格,用Trim搞定。
2
员工可能多次打卡,进取first,出取last
(Acess自带函数)
3
多班次判断。比较麻烦的是跨日班次,其他的都比较简单。我是分多班次进行单个分析,然后再用Union将结果统一至一个query
4
剩下就是连接人事DB导出一些部门,姓名的信息,设计一些打印报表。
5
结果表的内容复制到Windows
clipboard。然后通过Excel的宏从clipboard中导出数据并处理一些格式。如果有什么问题可以联系我赛客生活小雅。
简单,第一步:写一个员工类 第二步:写一个员工 *** 作类 第三步:写一个测试主函数 第四步:写一个数据库 *** 作类给你一个写过的代码,你自己参照着看看吧:在不行加我qq:1464388632 (给我分在加,否则不加)=================================测试类Applicationjava=================================import javaioBufferedReader;
import javaioFileInputStream;
import javaioInputStreamReader;
import javaioObjectInputStream;public class Application { public static void main(String[] args) throws Exception{
EmpManage em=new EmpManage();
BufferedReader br=new BufferedReader(new InputStreamReader(Systemin));
String EmpNo;
String name;
double salary;
while(true)
{
String optype;
Systemoutprintln("请输入你选的 *** 作");
Systemoutprintln("1:创建用户");
Systemoutprintln("2:查找用户信息");
Systemoutprintln("3:显示所有用户信息");
Systemoutprintln("4: 保存到文件");
optype=brreadLine();
if(optypeequals("1"))
{
Systemoutprintln("请输入用户ID");
EmpNo=brreadLine();
Systemoutprintln("请输入用户名");
name=brreadLine();
Systemoutprintln("请输入用户工资");
salary=DoubleparseDouble( brreadLine());
Employee ee=new Employee(EmpNo,name,salary);
emaddEmployee(ee);
}else if(optypeequals("2"))
{
Systemoutprintln("请输入用户ID");
EmpNo=brreadLine();
emfindEmployee(EmpNo);
}else if(optypeequals("3"))
{
emallDisplay();
}else if(optypeequals("4")){
emsaveFile();
}
} }}
=================================员工类。Employeejava=================================import javaio;
public class Employee implements Serializable{
private String EmpNo;
private String name;
private double salary;
public Employee(String EmpNo,String name,double salary)
{
thisEmpNo=EmpNo;
thisname=name;
thissalary=salary;
} public String getEmpNo() {
return EmpNo;
} public void setEmpNo(String empNo) {
EmpNo = empNo;
} public String getName() {
return name;
} public void setName(String name) {
thisname = name;
} public double getSalary() {
return salary;
} public void setSalary(double salary) {
thissalary = salary;
}
}
=================================员工 *** 作类。EmpManagejava================================= import javaioFileInputStream;
import javaioFileNotFoundException;
import javaioFileOutputStream;
import javaioObjectInputStream;
import javaioObjectOutputStream;
import javautilArrayList;public class EmpManage {
ArrayList al=new ArrayList();
//创建添加一个新用户
Employee ee=null;
public EmpManage()
{
try {
FileInputStream fis=new FileInputStream("dataser");
ObjectInputStream ois=new ObjectInputStream(fis);
ee= (Employee)oisreadObject();
while(ee!=null)
{
aladd(ee);
Systemoutprintln(alsize());
ee= (Employee)oisreadObject();
Systemoutprintln("此处安全");
}
Systemoutprintln("此处安全");
oisclose();
} catch (Exception e) {
// TODO Auto-generated catch block
eprintStackTrace();
}
}
public void addEmployee(Employee ee)
{
aladd(ee);
}
//通过员工号查找员工对应信息
public void findEmployee(String EmpNo)
{
for(int i=0;i<alsize();i++)
{
if(((Employee)alget(i))getEmpNo()equals(EmpNo))
{
Systemoutprintln("你所查找的用户已经查到 信息如下:");
Systemoutprintln("姓名:"+((Employee)alget(i))getName());
Systemoutprintln("工号:"+((Employee)alget(i))getEmpNo());
Systemoutprintln("工资:"+((Employee)alget(i))getSalary());
}
}
}
public void saveFile() throws Exception
{
FileOutputStream fos=new FileOutputStream("dataser");
ObjectOutputStream oos=new ObjectOutputStream(fos);
for(int i=0;i<alsize();i++)
{
Employee ee=(Employee) alget(i);
ooswriteObject(ee);
Systemoutprintln("保存成功");
}
oosclose();
}
//显示所有用户信息
public void allDisplay()
{
for(int i=0;i<alsize();i++)
{
Employee ee=(Employee) alget(i);
Systemoutprintln("====================");
Systemoutprintln("工号:"+eegetEmpNo());
Systemoutprintln("名字:"+eegetName());
Systemoutprintln("工资:"+eegetSalary());
Systemoutprintln("====================");
}
}
}
1、备份ACCESS数据库(这个是必须的)
2、打开数据库,右键点击要修改ID值的表A,打开“设计视图”,将ID字段的数据类型由“自动编号”改为“数字”,关闭保存。
3、然后打开表A,修改ID值,也可以修改已存在的其他数据。修改完毕后关闭表。(此刻ID字段是不能改回“自动编号”数据类型的)。
4、右键单击表A,选择“复制”,然后右键点一下空白处,选择“粘贴”,表名随便写,如“AA”,下面选择“只粘贴结构”,然后点确定生成新表AA。
5、选中表AA,打开“设计视图”。把ID字段的数据类型改为“自动编号”,关闭保存。(此刻表AA是没有数据的,所以可以修改成功)。
6、右键单击表A,选择“复制”,然后右键点一下空白处,选择“粘贴”,表名写刚生成的新表“AA”,下面选择“将数据追加到已有的表”,最后点确定。
7、然后将原表A改名为A111,将表AA改名为A。这样就实现了用新表替换旧表,仅ID值修改,其他内容不变。(提示:原来的表A可以不用改名,直接删除。但是我建议先改名作为备份,等新表测试成功后再删除)。
以上就是关于怎样用EXCEL制作员工考勤表有上午下午加班,可以自动统计的全部的内容,包括:怎样用EXCEL制作员工考勤表有上午下午加班,可以自动统计的、销售员每日考勤表怎么设计比较好呢、公司上下班考勤表,如何用EXCEL来做统计等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)