论文部分内容阅读
灰太狼出任羊村教育资源库库长,立命喜羊羊将近年来该村的教育资源做份报表交上,时间限在一日。“要是做不好,”灰太狼冷冷地道,“就取消本年度公费去青青大草原吃草的机会!”初生羊犊不怕狼,何况老村长也早说过:一切扎势派都是纸灰狼!一个屡战屡败的角色也敢在羊村称雄?不过,真要PK,还得看做真狼才行。
仔细研究,喜羊羊发现,所有资源其实都存放在“D:\教学资源”位置,而且是依次按“部门→提供者”的层次存放的,如“D:\教学资源\艺术组\美羊羊\中国古典音乐特点.ppt”。而灰太狼的要求呢,也就是要喜羊羊列出每个资源的名称、大小、类别、提供者以及提供者所在部门。两相对照,喜羊羊心里一下子有了底:这样的存放方式正适宜于按灰太狼的要求批量生成统计表!莫说一日,就是一个小时也要不了。手中有粮,心里不慌,方案已悄然在喜羊羊心中形成。
下面在Windows 7+Microsoft Office 2010环境中实现,其它环境类似。
批处理勇当先锋,一步获取资源列表。
考虑到灰太狼的要求,为方便操作,喜羊羊决计将每个资源的路径、名称(含扩展名)信息全部提取出来,生成TXT文件。说真的,这是很费力费时的活,但喜羊羊近来学了一点批处理知识,便也就释然了:批处理做这样的活真正是手到擒来。
进入D盘,打开记事本,输入以下内容:
cd D:\教学资源
for /r %%c in (*.*) do echo %%~fc>>D:\list.txt
命令解释:进入“D:\教学资源”目录,提取该目录以及子目录下所有文件路径、名称以及扩展名,将提取内容保存到D盘的list.txt文件中。其中“/r”表示包含子目录,参数“f”表示输出完整路径名,“z”表示显示文件大小,这些都绝对不可缺少。
保存该文件为bat文件,双击,片刻间,D盘中自动生成list.txt,里面正是喜羊羊所要的文件列表。
记事本也有一手,批量替换事半功倍。
打开list.txt,可以看到,每行一个资源信息,而资源的大小排在最前边,且和后面内容有一个半角空格,如“2211525 D:\教学资源\艺术组\美羊羊\中国古典音乐特点.ppt”,毫无疑问,其中的空格和“D:\教学资源”都是最后不要的,那就改改。
复制“D:\教学资源”和前边的空格,依次点“编辑→替换”,运用全部替换命令将复制内容全部清除,现在,内容变成了“2211525\艺术组\美羊羊\中国古典音乐特点.ppt”,初步符合了要求,但是,文件类型怎么办?
其实,由于资源的目的性很强,而且大多都是同事们原创的,因此,资源数量虽多,但格式很有限,以PPT文件和Word文件居多,剩下的,基本上都属于动画文件(SWF)、图片文件(JPG、GIF)和视频文件,而根据要求,PPT文件被定义为“课件”类型,Word文件被定义为“资料”类型,SWF文件被定义为“动画”类型,JPG和GIF被定义为“图片”类型,剩下的自然都是“视频”类型了。特点突出,喜羊羊决计再次运用全部替换命令实现文件类型的添加。依次点“编辑→替换”,将“.ppt”全部替换为“\课件”,将“.doc”全部替换为“资料”,依次类推。很快,一个令人满意的列表文件就出现在了喜羊羊面前。效果如下:
116788\艺术组\美羊羊\中国古典音乐特点\课件
119808\历史\美羊羊\古代中国的君主专制中央集权制度\资料
103936\历史\懒洋洋\故宫\视频
Excel初试牛刀,数据导入大有讲究。
喜羊羊新建一个名为“资源统计”的Excel文件,打开后定位到A1单元中,依次执行“数据→自文本”,选中“list.txt”文件并点“导入”,打开导入框。
勾选“分割符号”项,进入“下一步”。
勾选“其他”,同时在后面方框中输入“\”,继续点“下一步”,遵从默认设置完成数据导入。
要注意的是,数据导入的这一步至关重要,它决定着能否将“\”前后的内容自动对应到不同的列中,千万不能马虎。
Excel大显身手,数据统计尽善尽美。
现在,A、B、C、D、E列分别为资源大小、部门、提供者、资源名称、资源类型,可以打印了吧?且慢,既然是资源统计,没有编号怎么能成?再说了,资源大小列中也没有显示数据类型啊,是MB还是GB?其实都不是。For命令自动统计的资源大小单位实际上是Byte(字节),而1MB=1024KB,1KB=1024B!怪不得数字那么大,看来,得转换成MB看起来才方便。
剪贴A列内容到K列,让它远离打印中心,同时用填充手柄的序列填充功能在A列填充数字,作为编号。现在,剩下的就是B转MB同时添加MB单位,这要用到函数了。定位到F1单元格,在地址栏输入公式:
=CONCATENATE(ROUND(K1/1024/1024,2),"MB")
公式解释:将K列值连除两次1024,转换成MB,然后用ROUND函数将结果保留两位小数;继之,再用CONCATENATE函数在上述结果后添加单位“MB”。
回车后,以MB为单位的资源大小值就出现在了F1列,接下来,运用填充手柄功能得到其余各列的资源大小值。
经过这四大步的操作,一份完美的资源统计表就展现在了喜羊羊面前,经过简单的美化,打印表就被送到了灰太狼的办公桌上。看看时间,还不到10分钟!
“怎么,这么快?”看罢报表,灰太狼又惊又气:所惊者,喜羊羊速度如此之快,真是小看了;所气者,到手的羊又没了。一计不成,灰太狼岂肯甘心!眼珠子一转,又生一计:“怎么没有资源的总大小?哼哼,以为本库长就那么好对付吗?回去,继续统计,本库长要看到每个部门提供的资源的总件数和总大小!下班前拿不出结果,嘿嘿……”
赶走喜羊羊,灰太狼长出一口气,端起茶杯,打算喝杯茶压压惊,可三杯茶尚未下肚,就见喜羊羊又来了:又一份统计表被送到眼前。天呀,今天究竟怎么了,出师如此不利,灰太狼狼火攻心,晕了过去。
那么,喜羊羊是如何那么快统计出结果的呢?
其实,很简单,这完全要归功于Excel的强大函数。统计所有资源的总大小,最为简单,一个Sum函数片刻就能解决。真正有点难度的,是统计各部门的资源数量和大小,不过呢,要是熟悉SUMIF和COUNTIF两个函数,也就是很简单的事了。
准备。打开资源统计Excel文件,为方便打印,喜羊羊决计将统计结果放在Sheet2表中。在A1中输入“部门”,以下各列依次输入部门名称,B1中输入“资源数量”,C1中输入“资源”总量。好了,接下来就该函数出马做统计了。
统计各部门资源总数量。所用函数为COUNTIF。定位到B2单元格中,在地址栏输入公式:
=COUNTIF(Sheet1!B1:Sheet1!B1988,"历史"),回车,得到历史部门的资源数量。依次类推,通过修改条件值得到其余部门的资源数量。
统计各部门资源总大小,所用函数为SUMIF,由于SUMIF仅支持纯数字的求和,因此,我们还得用原来的Byte单位的值统计,然后再转换为MB单位。
定位到C2单元格中,输入公式:
=CONCATENATE(ROUND(SUMIF(Sheet1!B1:Sheet1!B1988,"历史",Sheet1!K1:Sheet1!K1988)/1024/1024,2),"MB"),回车,得到历史组资源总大小,填充公式,通过修改条件值,得到其余部门的资源总大小。
不几分钟,一份部门资源的统计报表就诞生了,简单美化后,喜羊羊乐滋滋地拿着去气灰太狼了。
仔细研究,喜羊羊发现,所有资源其实都存放在“D:\教学资源”位置,而且是依次按“部门→提供者”的层次存放的,如“D:\教学资源\艺术组\美羊羊\中国古典音乐特点.ppt”。而灰太狼的要求呢,也就是要喜羊羊列出每个资源的名称、大小、类别、提供者以及提供者所在部门。两相对照,喜羊羊心里一下子有了底:这样的存放方式正适宜于按灰太狼的要求批量生成统计表!莫说一日,就是一个小时也要不了。手中有粮,心里不慌,方案已悄然在喜羊羊心中形成。
下面在Windows 7+Microsoft Office 2010环境中实现,其它环境类似。
批处理勇当先锋,一步获取资源列表。
考虑到灰太狼的要求,为方便操作,喜羊羊决计将每个资源的路径、名称(含扩展名)信息全部提取出来,生成TXT文件。说真的,这是很费力费时的活,但喜羊羊近来学了一点批处理知识,便也就释然了:批处理做这样的活真正是手到擒来。
进入D盘,打开记事本,输入以下内容:
cd D:\教学资源
for /r %%c in (*.*) do echo %%~fc>>D:\list.txt
命令解释:进入“D:\教学资源”目录,提取该目录以及子目录下所有文件路径、名称以及扩展名,将提取内容保存到D盘的list.txt文件中。其中“/r”表示包含子目录,参数“f”表示输出完整路径名,“z”表示显示文件大小,这些都绝对不可缺少。
保存该文件为bat文件,双击,片刻间,D盘中自动生成list.txt,里面正是喜羊羊所要的文件列表。
记事本也有一手,批量替换事半功倍。
打开list.txt,可以看到,每行一个资源信息,而资源的大小排在最前边,且和后面内容有一个半角空格,如“2211525 D:\教学资源\艺术组\美羊羊\中国古典音乐特点.ppt”,毫无疑问,其中的空格和“D:\教学资源”都是最后不要的,那就改改。
复制“D:\教学资源”和前边的空格,依次点“编辑→替换”,运用全部替换命令将复制内容全部清除,现在,内容变成了“2211525\艺术组\美羊羊\中国古典音乐特点.ppt”,初步符合了要求,但是,文件类型怎么办?
其实,由于资源的目的性很强,而且大多都是同事们原创的,因此,资源数量虽多,但格式很有限,以PPT文件和Word文件居多,剩下的,基本上都属于动画文件(SWF)、图片文件(JPG、GIF)和视频文件,而根据要求,PPT文件被定义为“课件”类型,Word文件被定义为“资料”类型,SWF文件被定义为“动画”类型,JPG和GIF被定义为“图片”类型,剩下的自然都是“视频”类型了。特点突出,喜羊羊决计再次运用全部替换命令实现文件类型的添加。依次点“编辑→替换”,将“.ppt”全部替换为“\课件”,将“.doc”全部替换为“资料”,依次类推。很快,一个令人满意的列表文件就出现在了喜羊羊面前。效果如下:
116788\艺术组\美羊羊\中国古典音乐特点\课件
119808\历史\美羊羊\古代中国的君主专制中央集权制度\资料
103936\历史\懒洋洋\故宫\视频
Excel初试牛刀,数据导入大有讲究。
喜羊羊新建一个名为“资源统计”的Excel文件,打开后定位到A1单元中,依次执行“数据→自文本”,选中“list.txt”文件并点“导入”,打开导入框。
勾选“分割符号”项,进入“下一步”。
勾选“其他”,同时在后面方框中输入“\”,继续点“下一步”,遵从默认设置完成数据导入。
要注意的是,数据导入的这一步至关重要,它决定着能否将“\”前后的内容自动对应到不同的列中,千万不能马虎。
Excel大显身手,数据统计尽善尽美。
现在,A、B、C、D、E列分别为资源大小、部门、提供者、资源名称、资源类型,可以打印了吧?且慢,既然是资源统计,没有编号怎么能成?再说了,资源大小列中也没有显示数据类型啊,是MB还是GB?其实都不是。For命令自动统计的资源大小单位实际上是Byte(字节),而1MB=1024KB,1KB=1024B!怪不得数字那么大,看来,得转换成MB看起来才方便。
剪贴A列内容到K列,让它远离打印中心,同时用填充手柄的序列填充功能在A列填充数字,作为编号。现在,剩下的就是B转MB同时添加MB单位,这要用到函数了。定位到F1单元格,在地址栏输入公式:
=CONCATENATE(ROUND(K1/1024/1024,2),"MB")
公式解释:将K列值连除两次1024,转换成MB,然后用ROUND函数将结果保留两位小数;继之,再用CONCATENATE函数在上述结果后添加单位“MB”。
回车后,以MB为单位的资源大小值就出现在了F1列,接下来,运用填充手柄功能得到其余各列的资源大小值。
经过这四大步的操作,一份完美的资源统计表就展现在了喜羊羊面前,经过简单的美化,打印表就被送到了灰太狼的办公桌上。看看时间,还不到10分钟!
“怎么,这么快?”看罢报表,灰太狼又惊又气:所惊者,喜羊羊速度如此之快,真是小看了;所气者,到手的羊又没了。一计不成,灰太狼岂肯甘心!眼珠子一转,又生一计:“怎么没有资源的总大小?哼哼,以为本库长就那么好对付吗?回去,继续统计,本库长要看到每个部门提供的资源的总件数和总大小!下班前拿不出结果,嘿嘿……”
赶走喜羊羊,灰太狼长出一口气,端起茶杯,打算喝杯茶压压惊,可三杯茶尚未下肚,就见喜羊羊又来了:又一份统计表被送到眼前。天呀,今天究竟怎么了,出师如此不利,灰太狼狼火攻心,晕了过去。
那么,喜羊羊是如何那么快统计出结果的呢?
其实,很简单,这完全要归功于Excel的强大函数。统计所有资源的总大小,最为简单,一个Sum函数片刻就能解决。真正有点难度的,是统计各部门的资源数量和大小,不过呢,要是熟悉SUMIF和COUNTIF两个函数,也就是很简单的事了。
准备。打开资源统计Excel文件,为方便打印,喜羊羊决计将统计结果放在Sheet2表中。在A1中输入“部门”,以下各列依次输入部门名称,B1中输入“资源数量”,C1中输入“资源”总量。好了,接下来就该函数出马做统计了。
统计各部门资源总数量。所用函数为COUNTIF。定位到B2单元格中,在地址栏输入公式:
=COUNTIF(Sheet1!B1:Sheet1!B1988,"历史"),回车,得到历史部门的资源数量。依次类推,通过修改条件值得到其余部门的资源数量。
统计各部门资源总大小,所用函数为SUMIF,由于SUMIF仅支持纯数字的求和,因此,我们还得用原来的Byte单位的值统计,然后再转换为MB单位。
定位到C2单元格中,输入公式:
=CONCATENATE(ROUND(SUMIF(Sheet1!B1:Sheet1!B1988,"历史",Sheet1!K1:Sheet1!K1988)/1024/1024,2),"MB"),回车,得到历史组资源总大小,填充公式,通过修改条件值,得到其余部门的资源总大小。
不几分钟,一份部门资源的统计报表就诞生了,简单美化后,喜羊羊乐滋滋地拿着去气灰太狼了。