源码

方法一:特点,简单,省心,只适用windows服务器以下为引用的内容:<?phpheader("Content-type:application/vnd.ms-excel");header("Content-Disposition:attachment;filename=test_data.xls");$tx='表头';echo$tx."\n\n";//输出内容如下:echo"姓名"."\t";echo"年龄"."\t";echo"学历"."\t";echo"\n";echo"张三"."\t";echo"25"."\t";echo"本科"."\t";?>方法二:引用googlecode中推荐的小类库(大体同方法一,比较复杂点)下载地址:http://code.google.com/p/php-excel/downloads/list方法三:PHPEXCEL类库,功能强大,操作excel很方便,尤其是可以方便的加入图片,支持jpggifpng格式,支持winExcel2003,WinExcel2007.下载地址:http://www.codeplex.com/PHPExcel下面是总结的几个使用方法001<?002/**003*以下是使用示例,对于以////开头的行是不同的可选方式,请根据实际需要004*打开对应行的注释。005*如果使用Excel5,输出的内容应该是GBK编码。006*/007008include'PHPExcel.php';009010include'PHPExcel/Writer/Excel2007.php';011012//或者include'PHPExcel/Writer/Excel5.php';用于输出.xls的013014//uncomment015////require_once'PHPExcel/Writer/Excel5.php';//用于其他低版本xls016//or017////require_once'PHPExcel/Writer/Excel2007.php';//用于excel-2007格式018019//创建一个处理对象实例020$objExcel=newPHPExcel();021022//创建文件格式写入对象实例,uncomment023////$objWriter=newPHPExcel_Writer_Excel5($objExcel);//用于其他版本格式024//or025////$objWriter=newPHPExcel_Writer_Excel2007($objExcel);//用于2007格式026//$objWriter->setOffice2003Compatibility(true);027028//*************************************029//设置文档基本属性030$objProps=$objExcel->getProperties();031$objProps->setCreator("ZealLi");032$objProps->setLastModifiedBy("ZealLi");033$objProps->setTitle("OfficeXLSTestDocument");034$objProps->setSubject("OfficeXLSTestDocument,Demo");035$objProps->setDescription("Testdocument,generatedbyPHPExcel.");036$objProps->setKeywords("officeexcelPHPExcel");037$objProps->setCategory("Test");038039//*************************************040//设置当前的sheet索引,用于后续的内容操作。041//一般只有在使用多个sheet的时候才需要显示调用。042//缺省情况下,PHPExcel会自动创建第一个sheet被设置SheetIndex=0043$objExcel->setActiveSheetIndex(0);044045046$objActSheet=$objExcel->getActiveSheet();047048//设置当前活动sheet的名称049$objActSheet->setTitle('测试Sheet');050051//*************************************052//设置单元格内容053//054//由PHPExcel根据传入内容自动判断单元格内容类型055$objActSheet->setCellValue('A1','字符串内容');//字符串内容056$objActSheet->setCellValue('A2',26);//数值057$objActSheet->setCellValue('A3',true);//布尔值058$objActSheet->setCellValue('A4','=SUM(A2:A2)');//公式059060//显式指定内容类型061$objActSheet->setCellValueExplicit('A5','847475847857487584',062PHPExcel_Cell_DataType::TYPE_STRING);063064//合并单元格065$objActSheet->mergeCells('B1:C22');066067//分离单元格068$objActSheet->unmergeCells('B1:C22');069070//*************************************071//设置单元格样式072//073074//设置宽度075$objActSheet->getColumnDimension('B')->setAutoSize(true);076$objActSheet->getColumnDimension('A')->setWidth(30);077078$objStyleA5=$objActSheet->getStyle('A5');079080//设置单元格内容的数字格式。081//082//如果使用了PHPExcel_Writer_Excel5来生成内容的话,083//这里需要注意,在PHPExcel_Style_NumberFormat类的const变量定义的084//各种自定义格式化方式中,其它类型都可以正常使用,但当setFormatCode085//为FORMAT_NUMBER的时候,实际出来的效果被没有把格式设置为"0"。需要086//修改PHPExcel_Writer_Excel5_Format类源代码中的getXf($style)方法,087//在if($this->_BIFF_version==0x0500){(第363行附近)前面增加一088//行代码:089//if($ifmt==='0')$ifmt=1;090//091//设置格式为PHPExcel_Style_NumberFormat::FORMAT_NUMBER,避免某些大数字092//被使用科学记数方式显示,配合下面的setAutoSize方法可以让每一行的内容093//都按原始内容全部显示出来。094$objStyleA5095->getNumberFormat()096->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_NUMBER);097098//设置字体099$objFontA5=$objStyleA5->getFont();100$objFontA5->setName('CourierNew');101$objFontA5->setSize(10);102$objFontA5->setBold(true);103$objFontA5->setUnderline(PHPExcel_Style_Font::UNDERLINE_SINGLE);104$objFontA5->getColor()->setARGB('FF999999');105106//设置对齐方式107$objAlignA5=$objStyleA5->getAlignment();108$objAlignA5->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT);109$objAlignA5->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);110111//设置边框112$objBorderA5=$objStyleA5->getBorders();113$objBorderA5->getTop()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);114$objBorderA5->getTop()->getColor()->setARGB('FFFF0000');//color115$objBorderA5->getBottom()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);116$objBorderA5->getLeft()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);117$objBorderA5->getRight()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);118119//设置填充颜色120$objFillA5=$objStyleA5->getFill();121$objFillA5->setFillType(PHPExcel_Style_Fill::FILL_SOLID);122$objFillA5->getStartColor()->setARGB('FFEEEEEE');123124//从指定的单元格复制样式信息.125$objActSheet->duplicateStyle($objStyleA5,'B1:C22');126127128//*************************************129//添加图片130$objDrawing=newPHPExcel_Worksheet_Drawing();131$objDrawing->setName('ZealImg');132$objDrawing->setDescription('ImageinsertedbyZeal');133$objDrawing->setPath('./zeali.net.logo.gif');134$objDrawing->setHeight(36);135$objDrawing->setCoordinates('C23');136$objDrawing->setOffsetX(10);137$objDrawing->setRotation(15);138$objDrawing->getShadow()->setVisible(true);139$objDrawing->getShadow()->setDirection(36);140$objDrawing->setWorksheet($objActSheet);141142143//添加一个新的worksheet144$objExcel->createSheet();145$objExcel->getSheet(1)->setTitle('测试2');146147//保护单元格148$objExcel->getSheet(1)->getProtection()->setSheet(true);149$objExcel->getSheet(1)->protectCells('A1:C22','PHPExcel');150151152//*************************************153//输出内容154//155$outputFileName="output.xls";156//到文件157//$objWriter->save($outputFileName);158159//到浏览器160header("Content-Type:application/force-download");161header("Content-Type:application/octet-stream");162header("Content-Type:application/download");163header('Content-Disposition:inline;filename="'.$outputFileName.'"');164header("Content-Transfer-Encoding:binary");165header("Expires:Mon,26Jul199705:00:00GMT");166header("Last-Modified:".gmdate("D,dMYH:i:s")."GMT");167header("Cache-Control:must-revalidate,post-check=0,pre-check=0");168header("Pragma:no-cache");169$objWriter->save('php://output');170171?>

2013-12-19 3186 0
2013-12-16 3643 0
2013-12-14 2611 0
自己整理

禁用DW20.exePostedon2008年08月30日byJian服务器自从上次重装以后,CPU一直很高,很烦人的。任务管理器里面查看了下,主要是sqlservr.exe这个进程,还有就是有个DW20.exe。sql是没办法了,DW20.exe这个进程试着把它结束下,看下没问题。就决定把这个进程给干掉,可是怎么搞呢?结束后一会儿又出现了呀?以下有两种办法可以解决:在使用.NET开发MSoffice程序时,经常会遇到在Office相关代码throwex的时候,会弹出一个debugwindow,然后有个DW20.exe的process在狂跑,占用CPU非常高,而且维持一分钟左右,烦死!这东西其实是MicrosoftApplicationErrorReporting,是用于在MS的app崩溃时发送错误报告的,解决方法很简单,进入我的电脑->属性->系统属性->高级->错误报告,在这里设置禁用,就可以解决问题!来自:OpeDev自动Office程序停止响应时Windows错误报告工具,Dw20.exe,收集信息。使用此工具,直接向Microsoft发送报告。Microsoft使用数据来解决问题并增强将来程序版本。本文介绍如何编辑注册表来禁用应用程序错误报告工具。要禁用应用程序错误报告工具,将DWReportee值为1添加到以下注册表项:HKEY_CURRENT_USER\Software\Policies\Microsoft\PCHealth\ErrorReporting\DWHKEY_LOCAL_MACHINE\Software\Policies\Microsoft\PCHealth\ErrorReporting\DWHKEY_CURRENT_USER\Software\Microsoft\PCHealth\ErrorReporting\DWHKEY_LOCAL_MACHINE\Software\Microsoft\PCHealth\ErrorReporting\DW摘自:微软官方dw20进程及如何禁用进程信息:ProcessFile:dw20.exeProcessName:n/aDescription:dw20.exeistheApplicationErrorReportingclientincludedwithMicrosoftOffice2003,atoolthatcollectsinformationautomaticallywheneveranOfficeapplicationcrashesandallowsuserstosendareportdirectlytoMicrosoft.Microsoftusesthedatatoaddressproblemsandenhancefutureversionsoftheapplications.Author:MicrosoftCorpPartof:MicrosoftOffice2003CommonPath(s):unknownSecuirtyRisk(0-5):0Spyware:NoAdware:NoVirus:NoTrojan:NoSystemProcess:NoApplication:NoBackgroundProcess:YesUsesNetwork:NoUsesInternet:No在使用.NET开发MSoffice程序时,经常会遇到在Office相关代码throwex的时候,会弹出一个debugwindow,然后有个DW20.exe的process在狂跑,占用CPU非常高,而且维持一分钟左右,烦死!这东西其实是MicrosoftApplicationErrorReporting,是用于在MS的app崩溃时发送错误报告的。解决方法:进入我的电脑->属性->系统属性->高级->错误报告,在这里设置禁用,就可以解决问题!转自百度文库:http://wenku.baidu.com/link?url=WAyV4KtfjdiG9qTR3XfajQMspX1vK5iwgf-bSWkV1RAdHmdG9jRDQk4tuYPDTlFd4ojOPXgZRA0NMN8esIIno1fEVN_2AeYu4RaXRUElfVq

2013-12-11 4386 0
2013-12-9 1 0
2013-12-9 3804 0
2013-12-7 0 0
2013-12-6 9 0