1、利用excel批量生成制式word表格优质资料(可以直接使用,可编辑 优质资料,欢迎下载)利用excel批量生成制式word表格1、 excel中录入相关信息2、 制作制式word表格3、 在word中依次选择“邮件”-“选择收件人”-“使用现有列表”4、 找到第1步中已经录入信息的excel表格,选择有数据的页,点击“确定”5、 点击“插入合并域”,在表格需要填写对应内容的地方依次插入对应的excel内容6、 插入完成后,依次点击“完成并合并”-“编辑单个文档”,在弹出对话框选择“全部”并点击“确定”,即可生成包含所有excel数据、名为“信函1”的新word文档。员工信息表公式1、计算性别
2、(F列)=IF(MOD(MID(E3,17,1),2),男,女)2、出生年月(G列)=TEXT(MID(E3,7,8),0-00-00)3、年龄公式(H列)=DATEDIF(G3,TODAY(),y)4、退休日期(I列)=TEXT(EDATE(G3,12*(5*(F3=男)+55),yyyy/mm/dd aaaa)5、籍贯(M列)=VLOOKUP(LEFT(E3,6)*1,地址库!E:F,2,)注:附带示例中有地址库代码表6、社会工龄(T列)=DATEDIF(S3,NOW(),y)7、公司工龄(W列)=DATEDIF(V3,NOW(),y)&年&DATEDIF(V3,NOW(),ym)&月&D
3、ATEDIF(V3,NOW(),md)&天Now()可直接用最后日期代替8、合同续签日期(Y列)=DATE(YEAR(V3)+LEFTB(X3,2),MONTH(V3),DAY(V3)-19、合同到期日期(Z列)=TEXT(EDATE(V3,LEFTB(X3,2)*12)-TODAY(),0过期0天;=30,F:F,40)五、其他公式1、提成比率计算=VLOOKUP(B3,$C$12:$E$21,3)2、个人所得税计算假如A2中是应税工资,则计算个税公式为:=5*MAX(A2*0.6,2,4,5,6,7,9%-21,91,251,376,761,1346,3016,)3、工资条公式=CHOOS
4、E(MOD(ROW(A3),3)+1,工资数据源!A$1,OFFSET(工资数据源!A$1,INT(ROW(A3)/3),),)注:A3:标题行的行数+2,如果标题行在第3行,则A3改为A5工资数据源!A$1:工资表的标题行的第一列位置4、Countif函数统计身份证号码出错的解决方法由于Excel中数字只能识别15位内的,在Countif统计时也只会统计前15位,所以很容易出错。不过只需要用&*转换为文本型即可正确统计。=Countif(A:A,A2&*)六、利用数据透视表完成数据分析1、各部门人数占比统计每个部门占总人数的百分比2、各个年龄段人数和占比公司员工各个年龄段的人数和占比各是多少
5、呢?3、各个部门各年龄段占比分部门统计本部门各个年龄段的占比情况4、各部门学历统计各部门大专、本科、硕士和博士各有多少人呢?5、按年份统计各部门入职人数每年各部门入职人数情况附:HR工作中常用分析公式1.【新进员工比率】已转正员工数/在职总人数2.【补充员工比率】为离职缺口补充的人数/在职总人数3.【离职率】(主动离职率/淘汰率离职人数/在职总人数=离职人数/(期初人数+录用人数)1004.【异动率】异动人数/在职总人数5.【人事费用率】(人均人工成本*总人数)/同期销售收入总数6.【招聘达成率】=(报到人数+待报到人数)/(计划增补人数+临时增补人数)7.【人员编制管控率】=每月编制人数/在
6、职人数8.【人员流动率】=(员工进入率+离职率)/29.【离职率】=离职人数/(期初人数+期末人数)/2)10.【员工进入率】=报到人数/期初人数11.【关键人才流失率】=一定周期内流失的关键人才数/公司关键人才总数12.【工资增加率】=(本期员工平均工资上期员工平均工资)/上期员工平均工资13.【人力资源培训完成率】=周期内人力资源培训次数/计划总次数14.【部门员工出勤情况】=部门员工出勤人数/部门员工总数15.【薪酬总量控制的有效性】=一定周期内实际发放的薪酬总额/计划预算总额16.【人才引进完成率】=一定周期实际引进人才总数/计划引进人才总数17.【录用比】=录用人数/应聘人数*100
7、%18.【员工增加率】 =(本期员工数上期员工数)/上期员工数Excel中日期格式转换问题一、工作表中出生年月格式是19870705 格式(一)要想改成1987-7-5格式。1、首先把此单元格设置成日期2001-3-14 格式;2、插入一列B,用函数:B1=(LEFT(A1,4)&-&MID(A1,5,2)&-&RIGHT(A1,2),其它单元格可以用此公式自动填充。(二)要想改成1987年7月7日格式。1、然后把此单元格设置成日期2001年3月14 日格式; 2、插入一列B列,用函数:B1=(LEFT(A1,4)&年&MID(A1,5,2)&月&RIGHT(A1,2)&日),其它单元格可以用
8、此公式自动填充。二、工作表中出生年月格式格式是2021.2.22 格式(一)要想转换成2021-02-22格式1、首先把此单元格设置成日期2001-3-14 格式;2、假如原始数据在A列从A1开始,则在B1输入公式:=TEXT(SUBSTITUTE(A1,.,-),yyyy-mm-dd),其它单元格可以用此公式自动填充。还可以采取整列用“-”替换“.”的方法实现转换。(二)要想转换成20210222格式1、首先把此单元格设置成常规和数值格式;2、假如原始数据在A列从A1开始,则在B1输入公式:=TEXT(SUBSTITUTE(A1,.,-),yyyymmdd),其它单元格可以用此公式自动填充。
9、三、转换数据量较大的批量转换工具-分列如果Excel表格中有大量的类似“20210510”、“”非日期格式的数据要转换为日期格式,如“2021-5-10”,可以用分列的方法: 1.选择需要转换单元格或区域,单击菜单“数据分列”,弹出“文本分列向导- 3之步骤1”对话框。如果是Excel 2007,则在功能区中选择“数据”选项卡,在“数据工具”组中,单击“分列”按钮。 2.单击两次“下一步”,在“文本分列向导- 3之步骤3”中,在“列数据格式”中选择“日期”。还可以根据需要,在其后的下拉列表中选择一种日期格式。本例为默认的“YMD”格式。3.单击“完成”按钮,Excel会在原单元格或区域中将数值
10、格式的“20210510”和文本格式的“”转换为日期格式“2021-5-10”。在.NET中不安装Office使用EPPlus生成带图表(Chart)的Excel报表在开发.NET应用中可能会遇到需要生成带图表(Chart)的Excel报表的需求,特别是在一些ASP.NET网站中,有时候我们并不能保证Web服务器上一定安装了Office组件,所以使用微软的Office来生成Excel并不保证在所有情况下都使用,有时候即使Web服务器上安装了Office也会出现一些运行权限方面的原因到导致调用Excel组件生成Excel失败,所以在这里介绍一种无需安装Office并且无需较高权限就能生成Exce
11、l的方法。EPPlus简介在介绍EPPlus之前,首先要介绍一下Office Open XML。以下文字来自于维基百科( ,有删节):Office Open XML(缩写:Open XML、OpenXML或OOXML),是由Microsoft开发的一种以XML为基础并以ZIP格式压缩的电子文件,支持Word、Excel、Office Note、PPT等文件格式。OOXML在2006年12月成为了ECMA规范的一部分,编号为ECMA-376;并于2021年4月国际标准化组织(ISO)的表決,在两个月公布为ISOIEC 29500国际标准。从Microsoft Office 2007开始,Offi
12、ce Open XML文件格式已经成为Microsoft Office默认的文件格式。Microsoft Office 2021支持对ECMA-376标准文档的读操作,ISO/IEC 29500 Transitional的读/写,ISO/IEC 29500 Strict的读取。Microsoft Office 2021同时支持ISO/IEC 29500 Strict的读写操作。EPPlus就是一个通过Open XML方式来读写Office文件的开源.NET类库,所以使用它生成Office文件完全不需要Microsoft Office(当然如果你需需要查看生成的文件就需要Office了)。它的官
13、方网址是:。如果需要体验本文中提到的效果,需要从这个网址下载最新版本的类库,我现在使用的这个名为EPPlus.dll类库仅658K,非常方便部署。代码示例为了演示EPPlus的用法,这里写了一个简单的例子,在这个例子里演示模拟了几大公司实际业绩与计划业绩的百分比,如果这个百分比大于95%则会将所在的单元格显示为绿色,如果小于90%则会显示为红色,否则就显示为黄色,并且还会生成一个图标来直观表示每月实际完成情况与计划的百分比。完整代码如下:/* * * * Project A report project * Module Name Excel Report * Author Zhou, Jin
14、-Qiao (周金桥) * Creation Date 11/03/2021 * Description Generate Excel Report with Chat demo by Epplus * * Copyright 2021 zhoufoxcn. * * */using System;using System.Data;using System.Drawing;using System.IO;using OfficeOpenXml;using OfficeOpenXml.Drawing.Chart;using OfficeOpenXml.Style;namespace ExcelR
15、eportApplication / / 使用EPPlus生成带图表(Chart)的Excel文件的例子,注意在运行的机器上无需安装Office,因为EPPlus是使用基于OpenXML技术生成的Excel文件。 / 任何网站和个人均可在不对本代码做任何修改的情况下转载本文及本文中示例的代码用于非商业用途,任何除去版权的行为均为侵权。 / 周公(周金桥) / 创建日期:2021-11-03 / 博客地址: :/ :/zhoufoxcn.blog.51cto / 新浪微博地址: :/weibo /zhoufoxcn public class ExcelExportPage private sta
16、tic readonly string MonthNames = new string 一月, 二月, 三月, 四月, 五月, 六月, 七月, 八月, 九月, 十月, 十一月, 十二月; /private static readonly string CommpanyNames = new string Microsoft, IBM, Oracle, Amazon, Google, Facebook, Twitter, Paypal, Yahoo, HP ; private static readonly string CommpanyNames = new string Microsoft,
17、 IBM, Oracle, Google,Yahoo, HP ; static void Main(string args) ExcelExportPage.GenerateExcelReport(); / / 周公(周金桥)说明:这个方法就是主要演示如何生成带图表(Chart)的Excel文件的例子 / public static void GenerateExcelReport() string fileName = ExcelReport-+DateTime.Now.ToString(yyyy_MM_dd_HHmmss) + .xlsx; string reportTitle = 202
18、1年度五大公司实际情况与原计划的百分比; FileInfo file = new FileInfo(C:+fileName); using (ExcelPackage package = new ExcelPackage(file) ExcelWorksheet worksheet = null; ExcelChartSerie chartSerie = null; ExcelLineChart chart = null; #region research worksheet = package.Workbook.Worksheets.Add(Data); DataTable dataPerc
19、ent = GetDataPercent(); /chart = Worksheet.Drawings.AddChart(ColumnStackedChart, eChartType.Line) as ExcelLineChart; chart = worksheet.Drawings.AddChart(ColumnStackedChart, eChartType.LineMarkers) as ExcelLineChart;/设置图表样式 chart.Legend.Position = eLegendPosition.Right; chart.Legend.Add(); chart.Titl
20、e.Text = reportTitle;/设置图表的名称 /chart.SetPosition(200, 50);/设置图表位置 chart.SetSize(800, 400);/设置图表大小 chart.ShowHiddenData = true; /chart.YAxis.MinorUnit = 1; chart.XAxis.MinorUnit = 1;/设置X轴的最小刻度 /chart.DataLabel.ShowCategory = true; chart.DataLabel.ShowPercent = true;/显示百分比 /设置月份 for (int col = 1; col
21、= dataPercent.Columns.Count; col+) worksheet.Cells1, col.Value = dataPercent.Columnscol - 1.ColumnName; /设置数据 for (int row = 1; row = dataPercent.Rows.Count; row+) for (int col = 1; col = dataPercent.Columns.Count; col+) string strValue = dataPercent.Rowsrow - 1col - 1.ToString(); if (col = 1) works
22、heet.Cellsrow + 1, col.Value = strValue; else double realValue = double.Parse(strValue); worksheet.Cellsrow + 1, col.Style.Fill.PatternType = ExcelFillStyle.Solid; worksheet.Cellsrow + 1, col.Style.Numberformat.Format = #0.00%;/设置数据的格式为百分比 worksheet.Cellsrow + 1, col.Value = realValue; if (realValue
23、= 0.90d & realValue = 0.95d)/如果在90%与95%之间则该单元格底色显示为黄色 worksheet.Cellsrow + 1, col.Style.Fill.BackgroundColor.SetColor(Color.Yellow); else worksheet.Cellsrow + 1, col.Style.Fill.BackgroundColor.SetColor(Color.Green);/如果大于95%则该单元格底色显示为绿色 /chartSerie = chart.Series.Add(worksheet.CellsA2:M2, worksheet.C
24、ellsB1:M1); /chartSerie.HeaderAddress = worksheet.CellsA2; /chart.Series.Add()方法所需参数为:chart.Series.Add(X轴数据区,Y轴数据区) chartSerie = chart.Series.Add(worksheet.Cellsrow + 1, 2, row + 1, 2 + dataPercent.Columns.Count - 2, worksheet.CellsB1:M1); chartSerie.HeaderAddress = worksheet.Cellsrow + 1, 1;/设置每条线的
25、名称 /因为假定每家公司至少完成了80%以上,所以这里设置Y轴的最小刻度为80%,这样使图表上的折线更清晰 chart.YAxis.MinValue = 0.8d; /chart.SetPosition(200, 50);/可以通过制定左上角坐标来设置图表位置 /通过指定图表左上角所在的行和列及对应偏移来指定图表位置 /这里CommpanyNames.Length + 1及3分别表示行和列 chart.SetPosition(CommpanyNames.Length + 1, 10, 3, 20); #endregion research package.Save();/保存文件 / / 生成
26、数据,由于这一步不是主要逻辑,所以采用随机生成数据的方式,实际中可根据需要从数据库或其它数据源中读取需要的数据 / / private static DataTable GetDataPercent() DataTable data = new DataTable(); DataRow row = null; Random random=new Random(); data.Columns.Add(new DataColumn(公司名, typeof(string); foreach(string monthName in MonthNames) data.Columns.Add(new Da
27、taColumn(monthName, typeof(double); /每个公司每月的百分比表示完成的业绩与计划的百分比 for (int i = 0; i CommpanyNames.Length; i+) row = data.NewRow(); row0 = CommpanyNamesi; for (int j = 1; j = MonthNames.Length; j+) /这里采用了随机生成数据,但假定每家公司至少完成了计划的85%以上 rowj = 0.85d + random.Next(0, 15) / 100d; data.Rows.Add(row); return data; 最终生成的Excel文件内容如下:周公(周金桥)2021年11月4日凌晨于武汉