在WEB页面上将EXCEL文件导进、导出到数据库中

2016-05-20 jack
笔者由于工作需要,在OA系统中,需要将EXCEL文件的内容导进到数据库中,同时还需要将数据库中的内容导出到EXCEL文件中。笔者的OA是用PHP开发的,并且利用在WEB页面上,所以直接用PHP处理难度比拟大。经过研究,笔者用DELPHI开发了一个ACTIVEX控件,来处理EXCEL文件的数据,然后将数据提交到服务器上,再保留到数据库中,轻松的实现了EXCEL文件数据的导进。导出没有用ACTIVEX控件,直接用PHP处理。方法是将数据直接天生CSV文件,由于CSV是逗号分隔的文本文件,并且可以直接用EXCEL打开处理,所以可以满足请求。  下面将实现的方法先容一下。导进的页面代码: '职员编号', 'FIELDNAME'=>'STUFFID', 'FIELDTYPE'=>'A'), array ('CAPTION'=>'开端日期', 'FIELDNAME'=>'BEGINDATE', 'FIELDTYPE'=>'A'), array ('CAPTION'=>'结束日期', 'FIELDNAME'=>'ENDDATE', 'FIELDTYPE'=>'A'), array ('CAPTION'=>'合同内容', 'FIELDNAME'=>'CONTRACTTEXT', 'FIELDTYPE'=>'A'), array ('CAPTION'=>'备注', 'FIELDNAME'=>'THISMEMO', 'FIELDTYPE'=>'A'), array ('CAPTION'=>'服务器文件名', 'FIELDNAME'=>'DOCFILE', 'FIELDTYPE'=>'A'), array ('CAPTION'=>'文件类型', 'FIELDNAME'=>'FILETYPE', 'FIELDTYPE'=>'A'), array ('CAPTION'=>'本地文件名', 'FIELDNAME'=>'FILENAME', 'FIELDTYPE'=>'A'), array ('CAPTION'=>'文件扩大名', 'FIELDNAME'=>'EXTNAME', 'FIELDTYPE'=>'A')); //结构SQL语句,字段名部分 $strSQL = 'INSERT INTO HR_WORKCONTRACT ('; $strTemp = ''; for ($i = 0; $i ExecSQL ($strSQL.$strTmp)) $do->SetObject ('ERR', '数据导进失败!'); else $do->SetObject ('ERR', '数据导进成功!'); //echo $strSQL.$strTmp; $strTmp = ''; } } } if (trim ($strTmp) != '') { $strTmp = substr ($strTmp, 0, strlen ($strTmp) - 2).';'; if (!$do->ExecSQL ($strSQL.$strTmp)) $do->SetObject ('ERR', '数据导进失败!'); else $do->SetObject ('ERR', '数据导进成功!');//echo $strSQL.$strTmp; } }?>劳动合同信息导进   导进数据的页面如下:  可以显示导进EXCEL文件的所有内容,并且可以手工选择要导进的数据,可以对数据进行临时的修正处理(修正过后数据以红色彩显示,以示差别)。  选择文件界面。可以选择本地硬盘上的EXCEL文件,包含XLS文件和CSV两种格局。