이 기사의 예에서는 PHP가 Excel을 데이터베이스로 가져오고 데이터베이스 데이터를 Excel로 내보내는 방법을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 구체적인 구현 방법은 다음과 같습니다.
1. 가져오기
가져오기에는 Excel을 읽을 수 있는 구성 요소를 사용해야 합니다. 인터넷에는 더 나은 구성 요소도 있습니다. 여기에서 제가 사용하는 구성 요소를 공유합니다. 추출 코드 다운로드: vxyn. (참고로 두 파일을 참고했습니다)
<?php //传入要导入的Excel的文件名 function import_to_DB($filename) { require_once'reader.php'; $data = new Spreadsheet_Excel_Reader(); //创建读取Excel的对象 $data->setOutputEncoding('utf-8'); //设置读取Excel内容后输出的字符编码 $data->read("data/Excel/{$filename}.xls"); $db = mysql_connect('localhost', '用户名', '密码') or die("Could not connect to database."); //连接数据库 mysql_query("set names 'uft8'"); //输出中文 mysql_select_db('数据库名'); //选择数据库 error_reporting(E_ALL ^ E_NOTICE); for ($i = 1; $i <= $data->sheets[0]['numRows']; $i++) { echo $data->sheets[0]['cells'][$i][列数]; //这里可以把每一行相应列的值插到数据库中,如: /* $sql="insert "表名" values(对应项...)"; mysql_query($sql); 可加上错误判断 */ } ?>
간단히 말하면, 테이블의 각 행에서 해당 열 $data->sheets[0][row][column]의 값을 읽을 수 있으면 삽입 작업이 쉬워집니다.
2. 수출
내보내기는 구성 요소에 의존하지 않고 MIME 프로토콜을 사용하여 테이블 파일을 쉽게 내보낼 수 있습니다. 헤더를 다음 형식으로 설정하여 엑셀로 내보내면 브라우저에서 동시에 다운로드됩니다
header('Content-type: text/html; charset=utf-8'); header("Content-type:application/vnd.ms-excel;charset=UTF-8"); //application/vnd.ms-excel指定输出Excel格式 header("Content-Disposition:filename=表格文件名.xls"); //输出的表格名称
완전한 코드는 다음과 같습니다.
<?php header('Content-type: text/html; charset=utf-8'); header("Content-type:application/vnd.ms-excel;charset=UTF-8"); header("Content-Disposition:filename=表格文件名.xls"); $conn = mysql_connect("localhost","root","数据库密码") or die("不能连接数据库"); mysql_select_db("数据库名", $conn); mysql_query("set names 'UTF-8'"); $sql="select * from 表名 where 条件"; $result=mysql_query($sql); echo "表头1\t表头2\t表头3\n"; while($row=mysql_fetch_array($result)){ echo $row[0]."\t".$row[1]."\t".$row[2]."\n"; } ?>
여기서 실제로는 그리드 변경을 의미하지 않습니다. 줄을 바꿔주시면 됩니다. 웹 페이지에서 이 PHP 파일에 대한 링크를 설정하고 클릭하면 브라우저는 전달된 스트림을 자동으로 Excel 파일로 저장합니다.
이 기사가 모든 사람의 PHP 프로그래밍 설계에 도움이 되기를 바랍니다.