Heim > Fragen und Antworten > Hauptteil
PHP中文网2016-12-19 10:43:22
最近在做一个系统的重构~之前它导入用户名和密码都是要手工黏贴到数据库的~所以想直接用Excel导入,方便用户操作。
研究了一下~方法不少~最后决定用Excel导入~在网上搜了很多这方面的资料,发现都是将excel文件另存为csv文件,然后从csv文件导入。这里介绍一个直接将excel文件导入mysql的例子。我花了一晚上的时间测试,无论导入简繁体都不会出现乱码,非常好用。
PHP-ExcelReader,下载地址: http://sourceforge.net/projects/phpexcelreader
说明:
PHP将EXCEL导入MYSQL的测试环境:MYSQL数据库采用utf8编码.导入EXCEL文档是xls格式,经过测试,xlsx 格式[excel 2007]也OK.
请替换成你配置好的数据,如数据库配置等。运行http://localost/test.php实现导入。
以下是我贴出的详细代码,其中test.php为我写的测试文件,reader.php和oleread.inc文件是从上面提供的网址中下载的。
1. PHP将EXCEL导入MYSQL的代码示例test.php
<?php require_once 'reader.php'; // ExcelFile($filename, $encoding); $data = new Spreadsheet_Excel_Reader(); // Set output Encoding. $data->setOutputEncoding('gbk'); //”data.xls”是指要导入到mysql中的excel文件 $data->read('data.xls'); @ $db = mysql_connect('localhost', 'root', '123456') or die("Could not connect to database.");//连接数据库 mysql_query("set names 'gbk'");//输出中文 mysql_select_db('mydb'); //选择数据库 error_reporting(E_ALL ^ E_NOTICE); for ($i = 1; $i <= $data->sheets[0]['numRows']; $i++) { //以下注释的for循环打印excel表数据 /* for ($j = 1; $j < = $data->sheets[0]['numCols']; $j++) { echo "\"".$data->sheets[0]['cells'][$i][$j]."\","; } echo "\n"; */ //以下代码是将excel表数据【3个字段】插入到mysql中, 根据你的excel表字段的多少,改写以下代码吧! $sql = "INSERT INTO test VALUES('". $data->sheets[0]['cells'][$i][1]."','". $data->sheets[0]['cells'][$i][2]."','". $data->sheets[0]['cells'][$i][3]."')"; echo $sql.'< br />'; $res = mysql_query($sql); } ?>
以上就是PHP将EXCEL导入MYSQL的相关方法介绍,希望多又需要的朋友有所帮助。
但是发现他class里面的文件有点问题,修改了之后就正常了~可以到
阿神2016-12-19 10:39:29
你好,问题可以再详细一点吗,读取数据的话,使用select查询一下数据库,然后将信息循环读取出来就可以了,如果可以把你的代码传上来,我们可以再帮你详细看看
PHP中文网2016-12-19 10:38:37
python查询员工信息表
代码:
#!/usr/env python #coding:utf-8 import time def BreakFlag(): #用于设置标志位 while True: Break_Flag=raw_input('\t\t\t是否继续?(y/n):') if Break_Flag=='y' or Break_Flag=='n': return Break_Flag else: print '''''\t\t输入错误,请重新输入!''' Info_File=open(r'information.txt','r') #只读方式打开员工信息表文件 Employee_Info=Info_File.readlines() #生成一个员工信息列表,列表中元素为员工信息字符串 Info_File.close() #关闭员工信息表文件 Break_Flag='' print '''''\n\t\t\t\t\033[34;1m您好,欢迎来到员工信息查询系统!\033[0m\n''' while Break_Flag!='n': while True: Search_Info=raw_input('''''\n\t\t\t请输入您需要查询的信息:''') if len(Search_Info)>2: #判断输入字符长度,小于3个字符,则需要重新输入 break else: print '''''\n\t\t\t\033[31;1m您输入信息太少,请重新输入!\033[0m\n''' count_number=0 Search_Info_List=[] for i in Employee_Info: if i.count(Search_Info)>0: #将搜索到的字符串进行替换,并追加到Search_Info_List列表中 Search_Info_List.append(i.replace(Search_Info,'''''\033[42;31;1m%s\033[0m''' % Search_Info)) count_number+=1 #一条记录匹配成功 #count_number+=i.count(Search_Info)#统计每次搜寻到的字符串的个数,并进行累加 if count_number>0: #若搜寻到字符串,将统计到的字符串总个数和包含字符串的列表进行屏幕打印 print '''''\n\t\t\t共查询到:\033[31;1m %s \033[0m条信息!\n''' % count_number for i in Search_Info_List: print i else: print '''''\n\t\t\t\033[31;1m没有您查找的信息!\033[0m\n''' Break_Flag=BreakFlag() for i in range(3): print '''''\n\t\t\t\033[31;5m谢谢使用员工信息查询系统,%s秒后,退出系统\033[0m''' % (3-i) time.sleep(1) exit('\n\t\t\t\t您已经退出员工查询系统!') #import sys #sys.exit('\n\t\t\t\t您已经退出员工查询系统!')
假定员工信息存放在 information.txt文件中,如下:
song@ubuntu:~$ more information.txt
name:marry age:23 sex:man job:IT
name:song dada age:23 sex:man job:HR
name:zhang sanfeng age:23 sex:man job:IT
name:zhang wuji age:23 sex:man job:accountant
name:ling huchong age:23 sex:man job:IT
name:xiaoping age:23 sex:man job:manager
name:li yuanfang age:23 sex:man job:IT
name:feng feng age:23 sex:man job:boss
运行程序,示例如下:
友情链接:
1》 python中sys.exit() os._exit() exit() quit()的简单使用
2》python字符串replace()方法
3》 linux终端输出彩色字体