excel2010安装不了页面设置用不了,点就显示未安装打印机。点安装打印机又提示active directory域服务当前不可用

访问本页面,您的浏览器需要支持JavaScriptWeb系统页面打印技术实现与分析 - moonvan - 博客园
1 Web页面打印概述应用WEB化,不论对开发商,还是对用户来说,实在是一种很经济的选择,因为基于WEB的应用,客户端的规则很简单,容易学习,容易维护,容易发布。在WEB系统中,打印的确是个烦人的问题。 要么自己开发打印控件,如果项目时间紧,肯定来不及。这对程序员来说,因为浏览器的局限性,却要面对很多挑战。怎么样来进行基于WEB的套打,就是这么一个令多数程序员头痛不已的问题。 基于WEB的套打,难度在于要将浏览器中呈现的HTML,精确地打印到票据中,而且能够实现对分页位置的控制。本文将介绍常用的Web打印与套打方案,同时提供一些免费的打印控件,供大家学习参考。2 常用Web页面打印方案2.1 浏览器的打印功能这种方案的优势是不需要对浏览器作任何扩充,是最简单的办法,但问题也最多,如:1. 不能精确分页。浏览器一般是根据用户设置的页面大小,web页面的内容多少,来自行决定分页位置,程序员很难控制。会有页脚页眉干扰。2. 不能准确对齐边边距及打印文字。3. 不能解决连续打印。比如,不是仅打印一张票据,而是连续一次打印若干个票据。2.2 使用PDF文件用这种方式,就是从服务器端下载一个pdf文件流,在IE中用adobe插件打开,然后用adobe的打印菜单进行打印,虽然这种方案,也能实现精确套打,但需要下载adobe插件。这是国外报表工具经常推荐的一种打印方法,但在pdf不那么普及的中国,这种方案不是最好选择。2.3 采用Applet方式采用Applet方式,分页或精确打印,都可以做到完美,但缺点也很明显,表现在:1. 安装Applet成本巨大。需要下载十几M的文件。Applet本身可能并不大,但运行Applet所需的jre一般至少10几M(jre1.4.2 , 15.45M)。用户需要极大的耐心,来进行打印。2. 打印报表时,需要重新向服务器检索数据,效率低。因为Applet方案,一般采用html方式呈现数据,打印时Applet必须向服务器检索同一张票据的数据,看上去,是打印了当前页的票据,实际上,Applet根本不会用当前html页的数据来打印,而是向服务器下载数据到Applet中来打印。也就是说,打印的话,必须两次请求,一次html呈现,一次用来打印。市场上java类的报表工具,一般推荐Applet方式来实现打印。2.4 IEWebBrowser+Javascript这实际上,是浏览器打印功能菜单的一种程序调用,与打印功能菜单没什么两样。分页的问题仍然存在,只不过,可以让用户不用去点菜单,直接在网页中的一个按钮,或一个链接里面调用罢了。2.5 利用word或excel来实现先将需要打印的数据导入到word或者excel中,再利用word或者excel的打印功能来实现web打印。2.6 使用第三方控件这种方案就是下载一个控件,票据的数据不再以html方式呈现,而是呈现在ActiveX中。这种方案的优点是打印的精确度高,分页的可控性好,但缺点也是很明显的,嵌入ActiveX控件破坏了web应用的整体html风格,且这样的控件比较大(一般超过1M),下载颇费时间)。市场上的非java类报表产品,一般都采用这种方案。3 Web打印控件介绍3.1 ScriptXScriptX是一个叫MeadCo的国外公司的产品,它分为基础版(免费)和高级版(收费),基础版可以对 页眉,页脚,页边距,纸张方向进行设置。高级版有一些额外的功能,由于是收费的,需要付费以后才能用到你系统中.3.2 DLPrinterDLPrinter打印控件完全免费,界面大方、使用简单、但无签名,支持打印预览、直接打印,可设置页眉、页脚、页边距、打印份数、纸张大小等信息。遗憾的是作者不知道是什么原因,从2007年至今没的更新。&作者博客:/Yahong111/&下载地址:/panshenglu/DLPrinter.rar3.3 墙外打印控件墙外打印控件(QWPrint)是一款小巧的打印辅助软件,能够帮助众多制作B/S类程序的程序员更加灵活的控制客户端打印。&功能特点:&1) 小巧轻便,客户端在第一次使用时只要下载一个ActiveX控件即可使用。&2) 控制多种打印设置。程序员可以通过控件进行多项设置,包括设置打纸的页边距,页眉页脚,纸张大小等参数。&3) 精确控制打印。可以方便实现web下的套打操作。&作者博客:/&下载地址:/panshenglu/墙外打印控件.rar3.4 Lodop对于这个打印控件,用一个词来形容:强大!不仅调用方便,而且功能比你想像中要强大得多。&更多介绍大家到作者博客详细了解。&作者博客:.cn/caoyanqingwebsite/&下载地址:/panshenglu/lodop4.0.zip3.5 WebPrint(商业)webprint使用简单,灵活.能满足绝大多数页面打印的需要.它内含一个在vc7.0上开发的ATL小控件(只有74k),这个小控件主要实现对IE浏览器中文档打印格式的控制,可以定制打印纸型,纸张来源,打印方向,设置表头,表尾,表格,表格列宽,打印预览,分页,缩放等等用户经常关心的属性。 webprint使用户通过脚本可以控制自定义纸张,打印方向,页边距等等属性达到定制打印的目的,这些定制属性的设置不会改变IE浏览器的默认打印机属性。也可以通过服务器端的页面调用WebPrint生成客户端的页面达到设置打印参数的目的。技术特点:1) 基于表格的页面打印解决方案2) 采用了VC7.0开发的设置打印参数的小组件(仅75K),实现打印纸张,方向,页边距等等的自定义。3) 采用了DHTML, 不仅实现分页,换页重新打印标题,表头表尾等等,而且还实现了精确的放缩功能。4) 因为将数据接口层定在标准的HTML元素这一层,所以适合所有在IE下运行的互联网程序,包括ASP JSP PHP和VS.net等等..5) 使用简单方便,需要学习的东西很少.6) 无须为webprint重新组织要打印的数据和样式,直接将显示的页面传入webprint即可实现数据和样式的打印.7) 支持横向分页,分页时固定列重复打印.8) 可以动态改变每页的标题.9) 支持批打印,即一次打印多个打印作业.10) 在同一个页面上可以打印多个报表.11) 支持大数据量的打印.12) 可以设置打印到某些行时强行分页.13) 支持图片的打印.14) 可以导出为Excel文件。4 Web页面打印应用实例4.1 Javascript自带函数&a href="javascript:window.print();"&打印&/a&4.2 IEWebBrowser组件详细介绍参考:/default.aspx?scid=kb%3BEN-US%3BQ267240#top&/kb/q247671/#appliesto&OBJECT classid=CLSID:A-11D0-A96B-00C04FD705A2 height=0 id=WebBrowser width=0&&/OBJECT&&&input name=Button onClick=document.all.WebBrowser.ExecWB(1,1) type=button value=打开&&input name=Button onClick=document.all.WebBrowser.ExecWB(2,1) type=button value=关闭所有&&input name=Button onClick=document.all.WebBrowser.ExecWB(4,1) type=button value=另存为&&&input name=Button onClick=document.all.WebBrowser.ExecWB(6,1) type=button value=打印&&input name=Button onClick=document.all.WebBrowser.ExecWB(6,6) type=button value=直接打印&&input name=Button onClick=document.all.WebBrowser.ExecWB(7,1) type=button value=打印预览&&input name=Button onClick=document.all.WebBrowser.ExecWB(8,1) type=button value=页面设置&&input name=Button onClick=document.all.WebBrowser.ExecWB(10,1) type=button value=属性&&input name=Button onClick=document.all.WebBrowser.ExecWB(17,1) type=button value=全选&&input name=Button onClick=document.all.WebBrowser.ExecWB(22,1) type=button value=刷新&&input name=Button onClick=document.all.WebBrowser.ExecWB(45,1) type=button value=关闭&4.3 通过Excel实现页面打印将网页中数据导入excel中的方法有很多,这里先介绍一种,利用ActiveX控件的方式,即 Excel.Application, 这个控件是MS为excel提供的编程接口,在很多种编程语言种都可以通过该接口来操纵excel表格。下面用javascript脚本来实现一个简单的例子。& script language="javascript"&function ExcelPrint(){var excelA//存放Excel对象var excelB//存放Excel工件簿文件var excelS//存放Excel活动工作表try{excelApp = new ActiveXObject("Excel. Application");//创建Excel对象}catch(e){alert("请启用ActiveX控件设置!");}excelBook = excelApp.Workbooks.Add();//创建Excel工作簿文件excelSheet = excelBook.ActiveS//激活Excel工作表var rowLen = printTable.rows.//table对象的行数for (var i=0;i& rowLi++){var colLen = printTable.rows(i).cells.//table对象的列数for (var j=0;j& colLj++)//为Excel表的单元格赋值excelSheet.Cells(i+1,j+1).value = printTable.rows(i).cells(j).innerT} //将表格中的每个单元格的innerText导入到excel的单元格中excelApp.Visible =//设置Excel对象可见}excelSheet.PrintOut(); //打印工作表excelBook.Close(true); //关闭文档excelApp.Quit(); //结束excel对象excelApp= //释放excel对象& /script&&注意:运行该程序的前提是 IE要允许对没有标记为安全的Activex控件进行初始化和脚本运行。设置方法如下:打开控制面板&Internet选项&安全性&自定义级别&对没有标记为安全的ActiveX控件进行初始化和脚本运行&选中启用,这样我们的程序就可以 运行了。如果没有启用该ActiveX控件设置,那么程序在执行创建Excel对象时会抛出一个异常,这时可以通过catch()语句来捕获这个异常,并 且做出相应的处理。 运行该程序必须客户端安装了MS EXCEL,否则Activex驱动不了。4.4 使用ScriptX控件1. 下载ScriptX.cab控件&官网地址:/scriptx/index.asp&2. 使用object元素,修改codebase,classid的值,调用控件ScriptX.cab&OBJECT id="factory" style="DISPLAY: none" codeBase="${rootUrl}js/smsx.cab#VVersion=6,3,435,20" classid="clsid:eb-11d2-b92f-008048fdd814" viewastext&&/OBJECT&这段代码用来加载cab文件,clsid和codebase必须要和你下载的cab中的信息对应,否则组件会加载错误,这两项其实不难找,只要你用winrar打开你下载的cab文件,然后找到扩展名是.inf的文件,然后打开之,就能看到了。&3. 调用控件JS脚本function setPrintBase(headerText,footerText,rootUrl) {// -- advanced features& ,未曾使用过,有待确认。//factory.printing.SetMarginMeasure(2); // measure margins in inches//factory.SetPageRange(false, 1, 3);// need pages from 1 to 3//factory.printing.printer = "HP DeskJet 870C";//factory.printing.copies = 2;//factory.printing.collate =//factory.printing.paperSize = "A4";//factory.printing.paperSource = "Manual feed"var header = (headerText==null||headerText=="")?'默认页眉':headerTvar footer = (footerText==null||footerText=="")?'默认页角':footerTfactory.printing.header = "&b"+header+"&b" ;factory.printing.footer = "&b"+factory.printing.portrait =factory.printing.leftMargin =10.00;factory.printing.topMargin =10.00;factory.printing.rightMargin =10.00;factory.printing.bottomMargin =10.00;}4. 应用实例&html&&head&&meta http-equiv="imagetoolbar" content="no"&&script language="javascript" src="print.js"&&/script&&style media="print"&.Noprint {DISPLAY:}&/style&&title&打印测试&/title&&/head&&OBJECT id="factory" style="DISPLAY: none" codeBase="smsx.cab#VVersion=6,3,435,20" classid="clsid:eb-11d2-b92f-008048fdd814" viewastext&&/OBJECT&&script defer&function window.onload() {&setPrintBase('页眉','页脚');}&/script&&body topmargin="0" leftmargin="0" rightmargin="0" bottommargin="0" marginwidth="0" marginheight="0"&&center class="Noprint"&&input type=button value="打印" onclick="factory.printing.Print(true)"&&&input type=button value="页面设置" onclick="factory.printing.PageSetup()"&&&input type=button value="打印预览" onclick="factory.printing.Preview()"&&&input type="button" value="关闭" onclick="window.close();"&&/center&&center&&table width="100%" border="0" cellpadding="0" cellspacing="0"&&tr&&td align="center"&&b&内容&/b&&/td&&/tr&&/table&&/center&&/body&&/html&5 Web页面打印技巧5.1 隐藏打印的Web元素&html&&head&&title&web打印去掉页眉页脚,以及不想打印出的页面元素&/title&&meta http-equiv=content-type content="text/ charset=gb2312"&&script language=javascript&function printpr() {//预览函数document.all("qingkongyema").click();//打印之前去掉页眉,页脚document.all("dayindiv").style.display="none"; //打印之前先隐藏不想打印输出的元素(此例中隐藏&打印&和&打印预览&两个按钮)var olecmdid = 7;var prompt = 1;&var webbrowser = '&object id="webbrowser1" width=0 height=0 classid="clsid:a-11d0-a96b-00c04fd705a2"&&/object&';document.body.insertadjacenthtml('beforeend', webbrowser);&webbrowser1.execwb(olecmdid, prompt);webbrowser1.outerhtml = "";document.all("dayindiv").style.display="";//打印之后将该元素显示出来(显示出&打印&和&打印预览&两个按钮,方便别人下次打印)}&function printture() { //打印函数document.all('qingkongyema').click();//同上document.all("dayindiv").style.display="none";//同上window.print();document.all("dayindiv").style.display="";}function dopage(){layloading.style.display = "none";//同上}&/script&&script language="vbscript"&dim hkey_root,hkey_path,hkey_keyhkey_root="hkey_current_user"hkey_path="\software\microsoft\internet explorer\pagesetup"'//设置网页打印的页眉页脚为空function pagesetup_null()on error resume nextset regwsh = createobject("wscript.shell")hkey_key="\header"&regwsh.regwrite hkey_root+hkey_path+hkey_key,""hkey_key="\footer"regwsh.regwrite hkey_root+hkey_path+hkey_key,""end function'//设置网页打印的页眉页脚为默认值function pagesetup_default()on error resume nextset regwsh = createobject("wscript.shell")hkey_key="\header"&regwsh.regwrite hkey_root+hkey_path+hkey_key,"&w&b页码,&p/&p"hkey_key="\footer"regwsh.regwrite hkey_root+hkey_path+hkey_key,"&u&b&d"end function&/script&&/head&&body background="images/background_01.gif" leftmargin=0&topmargin=0 rightmargin=0 bottommargin=0 style="background-position: center 50%"&&div align=center&你希望打印的内容..........&/div&&div align="center" id="dayindiv" name="dayindiv"&&input type="button" class="tab" value="打印" onclick="printture();"&&&input type="button" class="tab" value="打印预览" onclick="printpr();"&&input type="hidden" name="qingkongyema" id="qingkongyema" class="tab" value="清空页码" onclick="pagesetup_null()"&&&input type="hidden" class="tab" value="恢复页码" onclick="pagesetup_default()"&&/div&&/body&&/html&5.2 实现简单的页面局部打印5.2.1 Javascript实现function preview(oper)......{if (oper & 10)......{bdhtml=window.document.body.innerHTML;//获取当前页的html代码sprnstr="&!--startprint"+oper+"--&";//设置打印开始区域eprnstr="&!--endprint"+oper+"--&";//设置打印结束区域prnhtml=bdhtml.substring(bdhtml.indexOf(sprnstr)+18); //从开始代码向后取htmlprnhtml=prnhtml.substring(0,prnhtml.indexOf(eprnstr));//从结束代码向前取htmlwindow.document.body.innerHTML=window.print();window.document.body.innerHTML=} else ......{window.print();}}使用很简单 将页面内要打印的内容加入中间&!--startprint1--&XXXXX&!--endprint1--&再加个打印按纽 onclick=preview(1)5.2.2 WebBrowser实现1. WebBrowser控件&  &object ID='WebBrowser' WIDTH=0 HEIGHT=0 CLASSID='CLSID:A-11D0-A96B-00C04FD705A2'&&/object&&2. WebBrowder控件的方法&//打印&WebBrowser1.ExecWB(6,1);&//打印设置&WebBrowser1.ExecWB(8,1);&//打印预览&WebBrowser1.ExecWB(7,1);&关于这个组件还有其他的用法,列举如下:&WebBrowser.ExecWB(1,1) 打开&Web.ExecWB(2,1) 关闭现在所有的IE窗口,并打开一个新窗口&Web.ExecWB(4,1) 保存网页&Web.ExecWB(6,1) 打印&Web.ExecWB(7,1) 打印预览&Web.ExecWB(8,1) 打印页面设置&Web.ExecWB(10,1) 查看页面属性&Web.ExecWB(15,1) 好像是撤销,有待确认&Web.ExecWB(17,1) 全选&Web.ExecWB(22,1) 刷新&Web.ExecWB(45,1) 关闭窗体无提示&但是打印是会把整个页面都打印出来的,页面里面有什么东西就打印出来,我们有时候只需要打印数据表格,这时我们就要写一个样式了:把不想打印的部份隐藏起来:样式内容:&style type="text/css" media=print&.noprint......{display : none }&/style&然后使用样式就可以:&p class="noprint"&不需要打印的地方&/p&代码如下:&script language="javascript"&&function printsetup()......{&// 打印页面设置&wb.execwb(8,1);&}&function printpreview()......{&// 打印页面预览&wb.execwb(7,1);&}&function printit()&......{&if (confirm('确定打印吗?')) ......{&wb.execwb(6,6)&}&}&&/script&&&OBJECT classid="CLSID:A-11D0-A96B-00C04FD705A2" height=0 id=wb name=wb width=0&&/OBJECT&&&input type=button name=button_print value="打印" class="noprint" onclick="javascript:printit()"&&&input type=button name=button_setup value="打印页面设置" class="noprint" onclick="javascript:printsetup();"&&&input type=button name=button_show value="打印预览" class="noprint" onclick="javascript:printpreview();"&5.3 禁止出现页眉页脚&HTML&&HEAD&&script language="JavaScript"&var hkey_root,hkey_path,hkey_keyhkey_root="HKEY_CURRENT_USER"hkey_path="\\Software\\Microsoft\\Internet Explorer\\PageSetup\\"//设置网页打印的页眉页脚为空function pagesetup_null(){try{var RegWsh = new ActiveXObject("WScript.Shell")hkey_key="header"&RegWsh.RegWrite(hkey_root+hkey_path+hkey_key,"")hkey_key="footer"RegWsh.RegWrite(hkey_root+hkey_path+hkey_key,"")}catch(e){}}//设置网页打印的页眉页脚为默认值function pagesetup_default(){try{var RegWsh = new ActiveXObject("WScript.Shell")hkey_key="header"&RegWsh.RegWrite(hkey_root+hkey_path+hkey_key,"&w&b页码,&p/&P")hkey_key="footer"RegWsh.RegWrite(hkey_root+hkey_path+hkey_key,"&u&b&d")}catch(e){}}&/script&&/HEAD&&BODY&&br/&&br/&&br/&&br/&&br/&&br/&&p align=center&&input type="button" value="清空页码" onclick=pagesetup_null()&&input type="button" value="恢复页码" onclick=pagesetup_default()&&br/&&/p&&/BODY&&/HTML&
随笔 - 329
评论 - 111用心创造滤镜
扫码下载App
汇聚2000万达人的兴趣社区下载即送20张免费照片冲印
扫码下载App
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
LOFTER精选
网易考拉推荐
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
本文转载自fairy_zz
然后我们该为海报打印做一些设置。选择“文件/打印预览”,点击“页边距”按钮,把鼠标光标指向表示页边距位置的虚线,当光标变成双箭头时按住左键拖动,可直接调整页边距(如图3),这也就是我们以后粘贴的边距。点击“设置”按钮,在“页面”中选择纸张大小为A4。对于一些特大的海报,打印出来的页数太多,要粘贴时可能不太好找,可在“页眉/页脚”中选择一种带页码的页脚格式(如图4),以便打印后区分。注:页边距不要设得太小,要考虑到打印机的实际可打印范围,如果页边距超出打印机的可打印范围将会使图形超出部分丢失。同时要注意调整页脚的位置,避免页码与图形重叠。
一切搞定后,放入纸开始打印,把打印后的纸左侧和上侧多余的纸边裁掉,再用胶水粘贴拼接成一张大图就行了。
小提示:如果打印的只是标语一类的特大字那就更简单了,只要把插入图片改成插入艺术字再从“设置艺术字格式”设定好所需的尺寸和格式就可以直接打印了。
&&&&&&& 需求一、既想分类汇总,又想分类打印  解决方案:直接利用Excel内置的“分类汇总”功能来实现。
  1、选中工程类型列的任意一个单元格,按一下“常用”工具栏上的“升序排序”或“降序排序”按钮,对数据进行一下排序。
  注意:使用“分类汇总”功能时,一定要按分类对象进行排序!
  2、执行“数据→分类汇总”命令,打开“分类汇总”对话框(如图2)。
  3、将“分类字段”设置为“工程类型”;“汇总方式”设置为“求和”;“选定汇总项”为“面积”和“造价”;再选中“每组数据分页”选项。最后,确定返回。
  4、分类汇总完成(图3是“综合办公”类的打印预览结果)。
&&&&&&&&Excel数据表分页汇总与批量打印
  图1是一份普通的Excel数据表,我们现在需要将其打印成如图2所示的样式,如果采取手工复制、粘贴的做法,不仅操作麻烦,而且容易出现错误。为此,笔者在此给出一种较为简便的解决方法,供大家参考。
  处理过程:  1、启动Excel2003(其他版本请大家仿照操作),打开数据表。
  2、切换到Sheet2工作表中,仿照图2所示的样式,制作好需要打印的表格表头的表尾。
  3、选中A4单元格,输入公式:=A3+1,并用“填充柄”将其公式复制到A5至A22单元格中(此处假定每页打印20行数据)。
  4、分别选中B3至H3单元格,依次输入公式:=IF(ISERROR(VLOOKUP($A3,数据!A:H,2,FALSE)),"",VLOOKUP($A3,数据!A:H,2,FALSE))、=IF(ISERROR(VLOOKUP($A3,数据!A:H,3,FALSE)),"",VLOOKUP($A3,数据!A:H,3,FALSE))……=IF(ISERROR(VLOOKUP($A3,数据!A:H,8,FALSE)),"",VLOOKUP($A3,数据!A:H,8,FALSE))。
  5、同时选中B3—H3单元格区域,用“填充柄”将上述公式复制到B4至H22单元格中。
  6、分别选中E23和F23单元格,输入公式:=SUM(E3:E22)和=SUM(F3:F22),用于统计当页工程的“建筑面积”和“造价”,达到分页汇总的目的。
  7、执行“工具→宏→Visual Basic编辑器”命令,进入VBA编辑状态(如图3)。
  注意:按下“Alt+F11”组合键,也可以快速进入VBA编辑状态。
  8、选中“工程.xls”工作簿名称,执行“插入→模块”命令,插入一个新模块(模块1),然后将下述代码输入到右侧的空白区域中:
  Sub 分页打印()   x = InputBox("请输入打印起始页码") '设置打印起始页码   y = InputBox("请输入打印结束页码") '设置打印结束页码   For i = x To y '设置一个循环     Cells(3, 1) = 20 * (i - 1) + 1 '在A3单元格中输入一个序号     ActiveWindow.SelectedSheets.PrintOut '执行一次打印操作   Next '进入下一个循环   End Sub
  注意:在上述代码中,英文单引号“'”及后面的字符是对代码的解释,在实际输入的时候不需要输入。
  9、输入完成后,关闭VBA编辑窗口,返回工作表中。
  10、执行“视图→工具栏→控件工具箱”命令,展开“控件工具箱”工具条(如图4)。
  11、单击工具条上的“命令按钮”按钮,然后在工作表中拖拉一下,画出一个命令按钮。
  12、右击命令按钮,在随后出现的快捷菜单中,选择“属性”选项,打开“命令按钮属性”设置框(如图5)。
&&&&& 快速批量打印成绩通知书的新方法&&&&
  现在介绍一种只使用Excel制作成绩通知书的方法,其过程十分简单,只需要使用一个函数就能完成。   制作学生成绩统计表   通知书文件里有两个表,分别是:学生成绩表及学生通知表(名字可以自己定义),其中第1、2行是表头,第84行是平均分统计,本班共有81位学生(成绩统计过程不再赘述)。   设置通知表   我们打印通知书一般使用16开纸张,在Excel中,我们把页面设置为B5即可。通知书里有部分文字是相同的,我们按需要输入就可以。为了方便大家理解,把需要输入公式的单元格设置了不同的底色。   A2单元格是我们输入学生号的地方。A3单元格的公式是“=VLOOKUP(A2,成绩!A3:O83,2,FALSE)”,此公式的含义是:使用VLOOKUP查询函数,根据A2单元格内容,在成绩表的A3到O83单元格进行查询,把查询到相同内容的这行的第2个单元格的内容显示在A3。   理解了A3的公式后,我们根据同样的原理分别设置E6、G6、A8、B8、C8、D8、E8、F8、G8、A10、B10、C10、D10、E10、F10这些单元格的公式。   完成公式的输入后,在A2单元格输入学生号,此学生的成绩会自动填写到各单元格里。为了打印出来的通知书比较美观,我们把所有的单元格底色设置为白色,并且把A2单元格的文字也设置为白色。在使用中,我们只需要改变A2单元格的学生号即可以分别打印出各学生的通知书。
&&&&&&&&打印考场清单
&&&&&&&& 图1是考生的详细资料,从图1中可以看出,准考证的编排是有一定规律的,其最后四位数由考场号和座位号组成,要使考场清单按照考场号汇总,关键是要另设一个新字段。
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 图1
  在G1单元格输入“考场号”,在G2单元格输入公式“="第"&&MID(C2,8,2)&&"考场"”,按〔Enter〕键确认之后再将该公式往下拖动复制到相应单元格,在G列中就自动生成了考生所在的考场号,执行结果如图2所示。对于没有按照考场号排序的,还需按照考场号和准考证号字段进行排序后,再进行分类汇总。
&&&&&& 将光标停放在数据中任一单元格,执行“数据→分类汇总”命令,弹出如图3所示的“分类汇总”对话框。在分类字段下拉框中选中“考场号”,汇总方式为“计数”,选定“考场号”作为汇总项,将“替换当前分类汇总”、“每组数据分页”、“汇总结果显示在数据下方”三个复选框选中,最后按下〔确定〕按钮。
  出现如图4所示的效果,此时只要按下〔打印预览〕按钮就可查看打印效果。不过此时打印效果还不是十分理想,我们还需对工作表进行格式设定,如插入页眉、页脚,在每页设定标题行打印及页面设置等,为使30人的考场清单尽量占满一页,我们还需增加行高及字号等等。一切准备就绪后,就可以打印了。
页面设置中工作表项   也许很多人没在意这一项,这一项里面有一处非常重要的地方,也是很多人打印出现错误的地方,而导致特别麻烦。   在我们具体打印操作的时候,设置好了打印区域,有时预览一下,然后打印,当我们打印一页时,都不会出现什么错误,当打印第二页、第三页时,状况就出现了,很多人不了解为什么会出现那种情况(我们打印表格的时候在每一页都需要一个顶端标题,但当我们打印机输出第二页、第三页或再后面的时候,上面的标题行就没有了,举上面例子来说,当我们需要打印第二页时,同样需要“学生成绩统计表”和下面科目一行),这时我们又该如何设置呢,先看一下在没有设置的情况下的打印预览(图六)。
图六  看出第一页和第二页的不同之处没有,对,第一页很正确,但第二页呢,没有了我们需要的顶端标题行,这时我们就需要设置顶端标题行了。   当我们遇到这种情况时,其实Excel是为我们提供了解决办法的,就是设置顶端标题行,我们可以在“页面设置”窗口中选择“工作表”项进行设置(图七红色部分),打印区域(蓝色部分)我们就不讲了。
  我们怎么设置顶端标题行呢,上面有一个输入窗口,我们用输入的办法吗?答案是可用可不用,用输入的办法可能有些学者不是很明白怎么个输入法,我就介绍给大家一种最简便的方法,我们可以将光标移到“顶端标题行”后面的输入框中,然后我们将鼠标在统计表中框选我们需要作为顶端标题行的部分(图八),选择之后放开鼠标就行了(选择的时候我们发现它是选择的整行,我们不必惊慌,其实就是选整行就对了)。
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 图八  这时选择部分就会呈现闪烁的虚线框,然后单击窗口中的“确定”按钮,再用打印预览试试,怎么样,是不是每一页都有顶端标题行了(图九)。
  再补充一点,有时一个表格的左边列是固定不变的,而不是顶端的标题,这时我们只需将“顶端标题行”改为设置“左端标题列”就行了,方法是一样的。
&&&&&&& Excel打印技巧
&&&&&&&& 没有打印机一样可以打印预览&&&&&&&& 在没有安装打印机的电脑上按下Excel的“打印预览”按钮后,Excel会却提示没有安装打印机,且无法打印预览。其实,只要单击“开始”→“设置”→“打印机”,然后双击“添加打印机”项目,再随便安装一个打印机的驱动程序。重启Excel,就会发现已经可以打印预览了。
&&&&&&&& 打印指定页面&&&&&&& 一个由多页组成的工作表,打印出来后,发现其中某一页(或某几页)有问题,修改后,没有必要全部都打印一遍!只要选择“文件”→“打印”(不能直接按“常用”工具栏上的“打印”按钮,否则是将整个工作表全部打印出来),打开“打印内容”对话框,选中“打印范围”下面的“页”选项,并在后面的方框中输入需要打印的页面页码,再按下“确定”按钮即可。&&&&&&&&&&& 首行重复打印&&&&&&& 当工作表大于1页时,用户一般希望在打印时能在每一页中均能包含首行,你可以这样设置,打开“页面设置”对话框,单击“工作表”选项卡,接下来只需在“打印标题→顶端标题行”文本框中输入::类似的字符,或用鼠标将工作表中的首行拖过来也可以,以后就该表格首行就会打印在每页了。&&&&&&&&&&& 表格也缩印&&&&&&& 有时为工作需要,可能要求将多页内容调整为一页打印出来(在word中可以通过“缩放”技巧来实现),可选择“文件”→“页面设置”,再在打开的“页面设置”对话框中单击“页面”标签,在“缩放”组下有一个“调整为”选项,只要在这里键入打印工作表内容时所需要的页数(注意页宽和页高两个值必须一致)就可以了。不过,此功能对于与纸张高、宽比例严重不协调的工作表来说,建议不要采用,否则会严重影响打印效果。&&&&&&&&&&&& 打印选定区域&&&&&&& 选定需要打印的区域,执行“文件”→“打印”,打开“打印内容”对话框,选中“打印内容”下面的“选定区域”选项,按下“确定”按钮就行了。如果经常要打印固定的某个区域,可以先选定相应区域,再执行“文件”→“打印区域”→“设置打印区域”。经过这样的设置后,无论是执行菜单的打印命令,还是直接按“常用”工具栏上的“打印”按钮,均可将设置的区域打印出来。&&&&&&&& 此时,如果想打印别的内容,就必须先执行“文件”→“打印区域”→“取消打印区域”命令,然后再进行打印操作。&&&&&&&&&&&& 打印不连续的单元格(区域)&&&&&&& 如果仅仅需要将一些不连续的单元格(区域)中的内容打印出来,那么在按住Ctrl键的同时,用鼠标左键单击需要打印的单元格(区域),选中多个不连续的单元格(区域,如A2.B2:C8.D10……),然后选择“文件”→“打印”,打开“打印内容”对话框,选中“打印内容”下面的“选定区域”选项,按下“确定”按钮就行了。此时,系统将选中的每一个不连续单元格(区域)分开,打印在不同页面上(即A2打印在一张纸上,B2:C8打印在另一张纸上……)。&&&&&&&& 如果需要经常打印固定的不连续行、列,可以在上述隐藏设置完成后,执行“视图”→“视面管理器”,打开“视面管理器”对话框,按其中的“添加”按钮,在随后弹出的“添加视图”对话框“名称”后面的方框中输入一个名称(如“打印”等),确定退出。以后需要打印时,再打开“视面管理器”对话框,选中“打印”视图项,按“显示”按钮,即可显示出设置好的打印页面,执行打印操作就可以了。&&&&&&&&&&&& 打印不连续的行(或列)&&&&&&& 有时,需要将一张工作表中部分不连续的行或列打印出来,可以在按住Ctrl键的同时,用鼠标左键单击行(列)标,选中不需要打印出来的多个不连续的行(列),右击鼠标,选“隐藏”选项,将其隐藏起来,然后再执行打印操作就可以了。&&&&&&&&&&&& 将公式打印出来&&&&&&&& 如果要将单元格中的公式打印出来,则执行“工具”→“选项”,在“视图”标签中,选中“公式”选项,确定退出。此时,工作表中含有公式的单元格,不是显示公式的运算结果,而是显示出具体公式,执行打印操作,即可将公式打印出来。&&&&&&&&&&&&& 一次打印多个工作表&&&&&&&&& 在按住Shift(或Ctrl)键的同时,用鼠标在需要打印的工作表名称上单击,即可选中多个连续(或不连续)的工作表,进行正常的打印操作,即可将选中的工作表一次打印出来。在“打印内容”对话框中,选中“打印内容”下面的“整个工作簿”选项,再确定打印,即可一次性将整个工作簿中所有工作表打印出来。&&&&&&&&&&&& 让每一页都打印出标题行&&&&&&&& 一个由多页组成的表格,通常需要在每一页上都打印出标题行:执行“文件”→“页面设置”,打开“页面设置”对话框,单击“工作表”标签,在“顶端标题行”后面的方框中输入::(这里假定第2和第3行为标题行,$符号在英文状态下,用Shift+4组合键输入),确定退出,再打印时,系统会自动为每一页加上标题行。如果在“左端标题列”后面的方框中输入列标题区域,就可以为每一页添加上列标题。&&&&&&&&&&&& 异地打印Excel表格&&&&&&&& 如果某台电脑(A电脑)没有安装打印机,而另一台有打印机的电脑(简称B电脑)上却没有安装Excel,可这样操作:先在A电脑上安装一下B电脑打印机的驱动程序,再打开需要打印的Excel工作簿,调出“打印内容”对话框,将打印机设置成B电脑上的打印机,选中“打印到文件”选项,并设置好其他选项,按“确定”按钮,在随后弹出的“打印到文件”对话框中输入一个文件名(如a.prn)后,再按“确定”按钮。然后将a.prn(保存在“我的文件”文件夹中)文件拷贝到电脑B中,在DOS状态下(Windows下的“MS-DOS方式”也可以),在文件所在的目录中,执行“copy a.prn lpt1”命令,即可将Excel工作表打印出来。&&&&&&&&&&&& 让工作表居中打印&&&&&&& 有时,可能需要打印的数据不是很多。如果直接打印,这些内容有可能会集中在纸张顶端,看起来很不美观,但如果人工调整又非常麻烦。这时,只要选择“文件”→“页面设置”,打开“页面设置”对话框,单击“页边距”选项页,如果希望工作表中的数据在左右页边距之间水平居中,只要在“居中方式”小节下勾选“水平”复选框即可;如果希望工作表中的数据在上下页边距之间垂直居中,只要勾选“垂直”复选框,当然建议同时勾选这两个复选项,这样就美观多了。&&&&&&&&&&& 自动避开错误值打印&&&&&&& 当工作表中存在公式时,有时难免会出现一些错误信息,当然不想在打印时将这些错误信息也显示出来。选择“文件”→“页面设置”,单击“工作表”标签,再单击“打印”选项组下“错误单元格打印为”下拉列表框,再从中将缺省的“显示值”改为“<空白>”,这样就不会将屏幕上显示的错误信息也打印出来,而是只打印空白单元格。&&&&&&&&&&&&& 打印公式原形&&&&&&&&& 首先,需要在工作表中将公式显示出来才行,在“工具”→“公式审核”菜单下选中“公式审核模式”选项即可。然后选择“文件”→“打印”,接着单击“选项”按钮来选定区域、活动工作表或整个工作簿。&&&&&&&&&&&& 调整打印机的分辨率&&&&&&&& 单击“文件”→“打印”,在打开的“打印内容”中单击“属性”按钮,然后在打开窗口的对话框下“打印质量”下拉框中可以选择一种点数较低的分辨率,例如360点/英寸,这样打印起来速度就会快很多。&&&&&&&&&&& 以草稿方式打印&&&&&&& 以草稿方式打印工作表时,将忽略格式和大部分的图形,这样也可以达到提高打印速度的目的,大家要做的只需选择打印机设置框中的“按草稿方式”复选框。&&&&&&&&&&&& 以单色方式打印&&&&&&&& 如果工作表中有很多彩色格式设置,那么要采用单色打印的方式,这样Excel在打印时就会自动将彩色字体和边框打印成黑色而不是使用灰度,打印速度自然大大提高,你可以选择打印机设置框中的“单色打印”复选框。&&&&&&&&&&& 不让表头到表格中&&&&&&& 有时打印表格线时,经常会把表头也弄到表格里面。这时,可以选取表格中需要打印的区域(记住不要选择表头),然后单击快捷工具栏中“边框”按钮旁边的小三角形符号,在出现的边框样式中选“所有框线”就行了。这样,打印出来后,表头就再也不会跑到表格里面去了。&&&&&&&&&&&& 快速打开打印机窗口&&&&&&&&Excel XP具有后台打印功能,执行打印任务时,你可以在前台继续从事其他操作,而系统会在后台进行打印,状态栏会显示一个打印机图标。此时,只需双击状态栏中的打印机图标即可打开打印机状态窗口,从中可快速执行暂停、删除打印等操作。&&&&&&&&&&& 打印预览的妙用&&&&&&& 假设Excel的一个工作簿建有两个工作表,现第二个工作表的页码要接着第一个工作表的页码。只要选中第二个工作表,按“打印预览”→“设置”,进入“页面设置”→“页面”,最下面有一项“起始页码”,默认是自动,现修改其默认值即可,如第一个工作表的结束页码是5,那么在起始页码中输入6。&&&&&&&&&&& 打印行号和列标&&&&&&& 选择“文件”→“页面设置”命令,单击“工作表”标签,再选中“行号列标”复选框即可。&&&&&&&&&&& 不打印图形&&&&&&& 对于一个图文混排的文件,常常需要校对其中的文本,为了节省纸张和油墨,不打印其中的图片。你可以通过下面两种方法来实现:(1)执行“工具”→“选项”,单击“打印”标签,将“打印文件附加信息”下面的“图形对象”复选框前面的对号去掉。(2)在“打印”对话框中,按下端的“选项”按钮,即可单独打开“选项”对话框中的“打印”标签,去掉“图形对象”前面的对号去掉。&&&&&&&&&&&& 纵横向纸张混合打印&&&&&&& 有时,文件中插入表格,而表格需要横向输出时,可这样设置:将光标定位在表格所在页(即需要横向输出的页)的开头,打开“页面设置”对话框,在“页边距”标签下,将纸张类型设置为“横向”,按“应用于”右边的下拉按钮,选“插入点之后”选项,确定退出;再将光标定位在后面需要恢复“纵向”输出页的开头,仿照上面的操作,将纸张类型设置为“纵向”。&&&&&&&&&&&& 双面打印&&&&& (1)在“打印”对话框中,按下端“打印”右边的下拉按钮,选定“奇数页”选项,“确定”打印,“奇数页”打印完成后,将打印了内容的纸张翻过来装入打印机(顺序千万不要搞错哟),再将“偶数页”打印上去就行了。(2)在“打印”对话框中,选中“人工双面打印”选项,“确定”打印,“奇数页”打印完成后,系统会弹出一个提示打印另一面的对话框,此时,将打印了“奇数页”内容的纸张翻过来装入打印机,按下上述对话框的“确定”按钮,将“偶数页”内容打印上去就好了。&&&&&&& 小提示&&&&&&& 如果打印机有夹纸的“不良”习惯,请采取前面的“打印指定页面”的做法,一页一页实现双面打印。尽管此法很麻烦,但最可靠!&&&&&&&&&&& 打印连续页码&&&&&&& 默认情况下,打印Excel表格时,每个工作表中的表格页码都是从1开始编号的。如果需要将多个工作表的表格页码连续排列,可以采用下面的技巧:首先采用上面介绍的方法查看第一个工作表的总页数,接着切换到第二个工作表。单击“文件”→“页面设置”,进入“页眉/页脚”选项卡,再单击“自定义页眉”(或“自定义页脚”)按钮打开对话框。根据需要单击其中的“左”、“中”或“右”框,再单击带有“#”字样的按钮,即可将“&[页码]”放入框中。如果要让第二个工作表的首页码接着第一个工作表的尾页码,只须在“&[页码]”后输入后者的总页数(即尾页码,例如11),使其变成“&[页码]+11”的样子。如果必要,还可以在“&[页码]+15”前后加上“第”和“页”字样,使其变成“第&[页码]+11页”。最后按上面介绍的方法操作,就可以打印页码连续的多个工作表了。&&&&&&&& 小提示&&&&&&& 采用上述方法打印连续页码时,“页面设置”、“页面”选项卡中的“起始页码”选项应为“自动”。
&&&&&&&避免填写失误 用Excel轻松套印支票
&&&&&&& 对于财务人员来说填写支票是一项重要的日常工作。使用电脑进行支票套印既可减少工作量,又能有效地避免填写失误,显然是个不错的选择。下面就以Excel2003为例介绍一下套印支票的具体操作。
一、精确设置套印位置为了获得支票图样,你需要一台扫描仪或数码相机。把支票放入扫描仪,扫描分辨率设定为100dpi、缩放比100。在预览图形上调整扫描区域框使它尽量靠近支票边,或者在扫描后再用图形处理软件进行修剪。最后把扫描的图像处理后保存为ZP.bmp。
编注:如果用数码相机拍照,可以将照片在Photoshop软件中放大尺寸,使它和实际的支票尺寸相同。
1.设置定位背景
启动Excel,单击菜单栏的“格式/工作表/背景…”打开工作表背景对话框,把刚才保存的ZP.bmp设定为背景。单击工具栏上显示比例的下拉列表框,把显示比例设定为106%。
注:106%的比例是这样得来的。在把扫描的支票图设置为电子表格背景后,设置显示比例为100%,用绘图工具栏中的“矩形”工具画一个与背景支票等高的矩形,打印出来。量得打印出的矩形高为8.5厘米,直接量取支票的高度为8厘米,8.5÷8=106%就是所需的比例。
2.设置界面及数据定位通过拖动行、列标题的边界调整行高列宽,再配合使用格式工具栏中的“合并及居中”按钮,让支票中要每个要填写的位置均正好与一个单元格重合。对于日期的年月日、小写金额的个十百千的格子都只要合并在一个单元格就够了。对周围无关的单元格全部设置填充色以突出显示支票。然后在支票下面的16行设计一个表格用于输入支票中的基本内容,并输入数据以便下一步设置时参考(图1)。
二、格式及公式
1.基本公式
在C3、C4、B10单元格分别输入公式=I16、=K16、=B16以显示科目、对方科目和金额。出票日期B7、H2都输入=F16,收款人B9和H3=A16,用途B11和G7=H16。这一步让支票上的各个单元格分别引用16行中的相应单元格数据。
2.格式设置
选中A1:E13存根区设置为8号字、宋体、左对齐。再选中F1:L13支票区设置为10号字、宋体,左对齐。选中H4设置14号字,单击工具栏上的“B”按钮设置文字加黑,以突出显示大写金额。选中B9,右击选择“设置单元格格式”,在“对齐”选项卡中单击选中“缩小字体填充”复选项,以防收款人名过长时显示不完。同样对H3、H4设置“缩小字体填充”格式。选中存根的金额B10,右击从“设置单元格格式”的“数值”选项卡中设置分类为货币、小数2位。
3.小写日期
选中存根出票日期的B7单元格,右击选择“设置单元格格式”,在“数字”选项卡的“分类”列表中选择“自定义”,在“类型”输入框中输入“yy mm dd”,不含引号且在yy与mm、mm与dd间均有4个半角空格(图2)。确定后就可以看到日期已经对准了。在类型中通过增加或减少半角空格数可直接调整年月日的间距。
&&&&&&&&4.大写日期
选中H2设置文字水平居中对齐,把字号设置为10号。右击H2选择“设置单元格格式”,在“数字”选项卡的“分类”列表中选择“自定义”,在“类型”输入框中输入“[DBNum2]yyyy mm dd”,不含引号且年月日间同样以4个半角空格分隔,确定后,再适当调整H列宽度让日期对正位置即可。
5.小写金额
在小写金额的J5中输入公式=IF(B16&,"¥",)&WIDECHAR(ROUND(B16,2)*100)。公式前半部分表示当数值小于1亿时才显示¥,后面的WIDECHAR()作用是把单字符转成双字符,其效果就相当于在各个数字间插入1个空格增大数字间距,然后只要适当调整字号就可以得到所需的间距,在此设置为10.5号字就差不多了。最后选中J5设置右对齐,再调整K列宽让各个数字对正相应格子即可。
注:对于字号列表中没有的字号,只要在工具栏上的“字号”输入框中直接输入数字如10.5,然后回车即设置为10.5号字。
6.大写金额的处理
在大写金额的H4单元格中输入公式=IF(INT(B16)=0,"",TEXT(INT(B16),"[DBNum2]")&"元")&IF(OR(INT(B16*10)=0,INT(B16)=B16),"",IF(INT(B16*10)=INT(B16)*10,"零",RIGHT(TEXT(INT(B16*10),"[DBNum2]"),1)&"角"))&IF(INT(B16*100)=INT(B16*10)*10,"整",RIGHT(TEXT(ROUND(B16,2),"[DBNum2]"),1)&"分"),回车确认后马上可以看到自动显示的大写金额。最后完成的效果如图(图3)。
&&&&&&& 此公式分三段分别对元、角、分进行计算获取大写数值并加上单位,再用&连接起来。公式中IF(INT(B16)=0,"",TEXT(INT(B16),"[DBNum2]")&"元")表示当B16的整数部分为0时不显示,否则将B16取整后转换成大写,并在后面加上“元”。RIGHT(TEXT(ROUND(B16,2),"[DBNum2]"),1)表示对B16的值四舍五入保留2位小数,转换为大写后再提取最右边一个字,也就是分值的大写。
7.有效性设置
为了防止输入错误,应对A16:K16单元格分别设置有效性。选中B16,单击“数据/有效性…”,在“数据有效性”对话框中设置“允许”→“小数”、“数据”→“小于”、最大值→确定完成设置,这样当输入金额超出支票最大金额时就会有错误提示。
选中H16,单击“数据/有效性…”,在“数据有效性”对话框中设置“允许”为“序列”,在“来源”中输入“人工工资,工程费用,购买设备,建筑材料费”(不引号),切换到“出错警告”选项卡,单击取消“输入无效数据时显示出错警告”复选项前的√,确定后再选中H16就会显示一个下拉按钮,单击它可以从下拉列表中选择输入常用的项目,当然也可以直接输入新项目。I16、K16也具有类似要求亦应同样进行设置。
三、打印设置
保护工作表
选中A16:K16区域右击选择“设置单元格格式”,在“保护”选项卡中单击取消“锁定”复选项,确定返回。单击“工具/保护/保护工作表”,在弹出窗口的“允许此工作表的所有用户进行:”选项列表中只选中“选定的单元格”选项,确定完成工作表保护设置。这样在工作表中除了A16:K16单元格区域外,其它单元格将无法选中,也不能调整行高列宽,这样就不用担心会因误操作影响支票套印效果了。最后把此工作薄命保存为“支票套印.xls”备用。
OK,到此支票套印的模板已经完成了,以后需要打印支票时,只需打开“支票套印.xls”,在A16:K16输入支票的内容,基本上只要输入金额和日期其它都可从下拉列表中选择输入,然后放入支票打印即可。
注:如果没有扫描仪或数码相机,只要直接量取支票中各文字的位置,再逐一设置行高列宽也同样可以实现准确定位套印,只是要多花一些时间。直接量取的1厘米大约等于Excel中的行高数值28.5、列宽数值4.4,你可以根据它换算出各行列的尺寸。
用EXCEL实现机打支票
笔者所在的公司业务繁杂,每天的银行收付款业务更是让人烦恼,别的不说,光手工开支票一项工作,一方面累,另一方面更是容易出错,出错之后怎么办呢?只有等挨板子的处理结果了。苦则思变,通过使用Excel表格达到实现机打支票的目的,既省下专门买软件方面的银子,又便于减少出错的机率,具体操作如下:
  首先建立一张Excel文件:
  Excel文件名字你就随便起了(图一),Excel文件里面你可以按不同的打印机格式设计好不同的工作表,如图二。
  按我们公司现在使用的支票(见图三)设计好EXCE工作表中的基本内容。如图四所示,图中红色椭圆圈内是需要手工输入内容,即支票存根栏内容(包括开票日期、收款单位名称、小写金额、用途等),蓝色方框内为通过表内公式自动计算形成内容,即撕下后开给持票人的那部分内容。
  大写“年”单元格的内容,我是直接输成“贰零零陆”,反正一年输一次,能耍懒就耍懒一次;金额大写单元格内公式主要是使用了“IF”、“TEXT”、“OR”和“INT”等函数,单元格内公式我是这样设置的“=IF(C10&0,"金额为负无效",IF(OR(C10=0,C10=""),"零元整",IF(C10&1,"",TEXT(INT(C10),"[dbnum2]G/通用格式")&"元"))) & IF(INT(C10*10)-INT(C10)*10=0,IF(INT(C10)*(INT(C10*100)-INT(C10*10)*10)=0,"","零"),TEXT(INT(C10*10)-INT(C10)*10,"[dbnum2]")&"角")&IF((INT(C10*100)-INT(C10*10)*10)=0,"整",TEXT((INT(C10*100)-INT(C10*10)*10),"[dbnum2]")&"分")”。
  下面是小写金额的自动形成过程,基本上分为这么几步:
  第一步是将小写金额单元格属性设置为文本格式(图六中紫色方框内的单元格);
  第二步是在表内空白处任何单元格利用函数“LEN”统计出小写金额栏内数字的位数(图六中底色为黄的单元格);
  第三步是在分栏小写金额下面空白处分别设置若干单元格,每个单元格设置时要利用函数“RIGHTB”分别求出自右开始统计的一位数、二位数等等(图六中绿色方框内的单元格),如图中“2” 单元格的内容是这样计算公式“=RIGHTB($N$8,1)”,图中“32”单元格的内容是这样计算公式“=RIGHTB($O$9,2)”,图中“4.32” 单元格的内容是这样计算公式“=RIGHTB($O$9,4)”,以此类推;
  第四步是对输出部分的小写金额内容分别设置成“分”、“角”、“个位”、“十位”、“百位”等单元格,单元格设置时要利用函数“IF”和“LEFTB”分别求出自左开始统计的一位数、二位数等等(图六中红色方框内的单元格),如图中“2” 单元格的内容是这样计算公式“=LEFTB(W$7,1))”,图中“3” 单元格的内容是这样计算公式“=LEFTB(V$7,1))”,图中“4” 单元格的内容是这样计算公式“=IF($O$12&4,"",LEFTB(U$7,1))”,图中“5” 单元格的内容是这样计算公式“=IF($O$12&5,"",LEFTB(T$7,1))”以此类推;
  第五步是对图五中除红色方框内的数据因向外输出保留黑色字体颜色外,其他数据都将字体设置为白色,不必打印显示。这样经过处理后,打印输出的支票效果如图七所示。
  这里需要注意的问题有:
  一是存根栏内的小写金额前的人民币符号需要单独设置为一个单元格,并且金额要输入到分,没有角或分的用“0”,补齐,分以下的要四舍五入到分。
  二是对大写金额的形成过程可分设为若干个单元格来进行,对小写金额的形成也可以将上述几个步骤综合在一起,但为了使读者看得更直观,我是分步来解释的。
  三是表内样式是参照山东省的支票样式设计的,其他省份的可能不太一致,需要个人调整使用,四这只是个人的突发的想法,应该还有很多不完善的地方,以此抛转引玉,得到各位高手的指点。
&&&&&&&解决打印问题
&&&&&& 1.如何打印工作表中的行号列标&&&&&&&&&&&&&
&&&&&&& 在Excel中,默认打印时,行号列标是不会被打印出来的,这一点在打印预览状态下就可以看出来,如图1所示。
&&&&&&&& 虽然要想在Excel中做出行号列标,也不是很难的事,但是有没有直接的方法,可以打印出列标号呢?当然有了,打开“文件”菜单,选择“页面设置”选项,从弹出“页面设置”对话框中,单击“工作表”选项卡,将“打印”栏中的“行号列标”项的复选框选中,如图2所示。
&&&&&&&&& 这样打印工作表时,就会将行号列表一同 打印出来了。
&&&&&&&& 2.如何打印并显示工作表中的公式
&&&&&&& 上面一个技巧讲述了如何打印工作表中的行号列标 ,现在又有了这样的问题:单元格中显示的都是公式计算的结果,那么如果想在单元格中显示出所有的公式并将公式打印出来,该怎么办呢?看起来是多么深奥的一个问题啊,其实操作方法很简单:在要显示公式的工作表中按“Ctrl+~”组合键,工作表中就会显示出所有的公式。
&&&&&&& 再按一下这个组合键,就会切换回计算结果状态,在处于显示公式的状态下,进行打印,就可以把工作表中的公式打印出来。
阅读(546)|
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
loftPermalink:'',
id:'fks_094066',
blogTitle:'引用 excel中打印的设定',
blogAbstract:'&\r\n引用\r\n
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}

我要回帖

更多关于 如何安装excel2010 的文章

 

随机推荐