重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
?php
网站建设哪家好,找创新互联公司!专注于网页设计、网站建设、微信开发、成都微信小程序、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了任丘免费建站欢迎大家使用!
//需求:用php将mysql数据导入到excel中
//数据库配置信息
$DB_Server = "localhost";
$DB_Username = "root";
$DB_Password = "admin";
$DB_DBName = "shop";
$DB_TBLName = "sdb_widgets_set";
$savename = date("Y-m-j H:i:s");
// 数据库连接
$Connect = @mysql_connect($DB_Server, $DB_Username, $DB_Password) or die("Couldn't connect.");
//注意mysql 导入cxcel中的时候
mysql_query("Set Names 'gbk'");
//定义文件导出的格式
$file_type = "vnd.ms-excel";
//定义文件后缀名称
$file_ending = "xls";
header("Content-Type: application/$file_type;charset=gbk");
header("Content-Disposition: attachment; filename=".$savename.".$file_ending");
//header("Pragma: no-cache");
$now_date = date("Y-m-j H:i:s");
//定义要输出的数据表标题
$title = "数据表名:$DB_TBLName, | 日期:$now_date";
$sql = "Select * from $DB_TBLName";
$ALT_Db = @mysql_select_db($DB_DBName, $Connect) or die("Couldn't select database");
$result = @mysql_query($sql,$Connect) or die(mysql_error());
echo("$title/n");
//定义制表格符号
$sep = "/t";
//逐个取出数据表字段
for ($i = 0; $i mysql_num_fields($result); $i++) {
echo mysql_field_name($result,$i) . "/t";
}
print("/n");
// $i = 0;
//循环打印出数据表中的数据
while($row = mysql_fetch_row($result)) {
$schema_insert = "";
for($j=0; $j mysql_num_fields($result);$j++) {
if(!isset($row[$j]))
$schema_insert .= "NULL".$sep;
else if ($row[$j] != "")
$schema_insert .= "$row[$j]".$sep;
else
$schema_insert .= "".$sep;
}
$schema_insert = str_replace($sep."$", "", $schema_insert);
$schema_insert .= "/t";
print(trim($schema_insert));
print "/n";
// $i++;
}
return (true);
?
把你的sql语句打印一下 看是否有东西 再粘贴到sql语句那 看能否实现
数据库中创建一个字段,例如:createtime,类型为int(11)
保存之前的时候,把这个字段赋值,连同其它数据一起插入到数据库就可以了
$createtime = time();
首先,将PHPExcel文件放入到vendor目录下面:
备注:ThinkPHP3.1的路径是:./ThinkPHP/Extend/Vendor/;ThinkPHP3.2的路径是:./ThinkPHP/Library/Vendor/;
数据导出功能的实现:
编写导出为Excel的函数exportExcel:
public function exportExcel($expTitle,$expCellName,$expTableData){
$xlsTitle = iconv('utf-8', 'gb2312', $expTitle);//文件名称
$fileName = $_SESSION['account'].date('_YmdHis');//文件输出的文件名
$cellNum = count($expCellName);
$dataNum = count($expTableData);
vendor("PHPExcel.PHPExcel");
$objPHPExcel = new PHPExcel();//ThinkPHP3.1的写法
$objPHPExcel = new \PHPExcel();//ThinkPHP3.2的写法,有命名空间的概念
$cellName =
array('A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','AA','AB','AC','AD','AE','AF','AG','AH','AI','AJ','AK','AL','AM','AN','AO','AP','AQ','AR','AS','AT','AU','AV','AW','AX','AY','AZ');
$objPHPExcel-getActiveSheet(0)-mergeCells('A1:'.$cellName[$cellNum-1].'1');//合并单元格
//
$objPHPExcel-setActiveSheetIndex(0)-setCellValue('A1',
$expTitle.' Export time:'.date('Y-m-d H:i:s'));
for($i=0;$i$cellNum;$i++){
$objPHPExcel-setActiveSheetIndex(0)-setCellValue($cellName[$i].'2', $expCellName[$i][1]);
}
// Miscellaneous glyphs, UTF-8
for($i=0;$i$dataNum;$i++){
for($j=0;$j$cellNum;$j++){
$objPHPExcel-getActiveSheet(0)-setCellValue($cellName[$j].($i+3),
$expTableData[$i][$expCellName[$j][0]]);
}
}
header('pragma:public');
header('Content-type:application/vnd.ms-excel;charset=utf-8;name="'.$xlsTitle.'.xls"');
header("Content-Disposition:attachment;filename=$fileName.xls");//attachment新窗口打印inline本窗口打印
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');//ThinkPHP3.1的写法
$objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');//ThinkPHP3.2的写法,有命名空间的概念
$objWriter-save('php://output');
exit;
}
3.读取数据,调用数据调用数据导出函数exportExcel:
function expUser(){//导出Excel
$xlsName = "User";
$xlsCell = array( //设置字段名和列名的映射
array('id','账号序列'),
array('truename','名字'),
array('sex','性别'),
array('res_id','院系'),
array('sp_id','专业'),
array('class','班级'),
array('year','毕业时间'),
array('city','所在地'),
array('company','单位'),
array('zhicheng','职称'),
array('zhiwu','职务'),
array('jibie','级别'),
array('tel','电话'),
array('qq','qq'),
array('email','邮箱'),
array('honor','荣誉'),
array('remark','备注')
);
$xlsModel = M('Member');
$xlsData =
$xlsModel-Field('id,truename,sex,res_id,sp_id,class,year,city,company,zhicheng,zhiwu,jibie,tel,qq,email,honor,remark')-select();
//将sex字段中1和0分贝装换为“男”和“女”
foreach ($xlsData as $k = $v)
{
$xlsData[$k]['sex']=$v['sex']==1?'男':'女';
}
$this-exportExcel($xlsName,$xlsCell,$xlsData);
}
这个技术稍微综合了PHP的基础知识,
给你一个思路,
(1)
先将textarea
文本中的信息
传入
php的
$_POST['content'],
content
是textarea的属性名称,
(2)
传过来的值是通过数组的形式进行保存的
,其中PHP有一个函数是可以将数组转换成字符串形式,
引用那个函数后,通过var_dump()打印出你的转换数据,看是否是字符串
在这里需要提醒你一下,因为你是每一行作为一句话
通过逗号分隔出来的
,那么
在转换成数组的时候,
将每一行数据
用
|
隔开,例如:
数据1
,
数据11,
数据111
|
数据2,
数据22,
数据222|
数据3
,
数据33,
数据333
|
数据4,
数据44,
数据444
|
这就是一个转换成字符串的格式了,
(3)
通过转换成字符串后,php中还有一个函数就是将字符串转换成
数组的函数,转换结果应该出来的数据格式是:
array=
array(0)=array{
'数据1,数据11,数据111'
},
array(1)=array{
'数据2,数据22,数据222'
}....
(4)以上的数据都是索引数组的二维数组,将二维数组用foreach()去循环打印出来,那么久可以得到每一个
所以数组下的
数据了,这些数据
就是你要保存到数据的数据,在按照(1)和(2)的方式进行操作,最后就可以把textarea的数据保存到数据库中咯。
思路就是这样的
,希望你能自己动手,把这个程序解决,这个程序在实际开发中运用的很广泛,最好自己把它掌握了.....
button id='get_connect'查看借书人/button多加个属性data-mess='当前书本ID',当点击button时候,触发点击事件,使用ajax请求发送data-mess(即当前书本ID)到php页面执行sql查询语句,成功返回数据时候在页面一个区域div里显示出来