直接贴代码吧

PHP版本5.6.38

mysql版本5.0

//连接数据库
$mysql_server_name = "*.*.*.*";
$mysql_username="user";
$mysql_password="dbpasswd";
$mysql_database="test";
$conn = mysqli_connect($mysql_server_name,$mysql_username,$mysql_password,$mysql_database);
// 检测连接
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
//设置字符集,如果不设置的话中文可能会乱码
$conn->query("set names utf8"); //查询数据
$sql = "SELECT * FROM testdata WHERE inserttime > '2019-09-13' AND inserttime <'2019-0916'";
$result = $conn->query($sql);
//遍历将数据放入数组中
$data =array();
while ($row = $result->fetch_assoc())
{
$data[] = $row;
} //将查询出来的数据导入Excel中
require_once('./PHPExcel/PHPExcel.php');
// 创建Excel文件对象
$objPHPExcel = new PHPExcel();
// 设置文档信息,这个文档信息windows系统可以右键文件属性查看
$objPHPExcel->getProperties()->setCreator("wnn")
->setLastModifiedBy("wnn")
->setTitle("原创文章链接");
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue('A1','文章ID')
->setCellValue('B1','标题')
->setCellValue('C1','链接')
->setCellValue('D1','作者')
->setCellValue('E1','发布时间'); //设置excel表单根据内容大小变化
$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setAutoSize(true);
$objPHPExcel->getActiveSheet()->getColumnDimension('B')->setAutoSize(true);
$objPHPExcel->getActiveSheet()->getColumnDimension('C')->setAutoSize(true);
$objPHPExcel->getActiveSheet()->getColumnDimension('D')->setAutoSize(true);
$objPHPExcel->getActiveSheet()->getColumnDimension('E')->setAutoSize(true); //$i=1是标题行
$i=2;
foreach ($data as $k=>$v){
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue('A'.$i,$v['id'])
->setCellValue('B'.$i,$v['title'])
->setCellValue('C'.$i,$v['arcurl'])
->setCellValue('D'.$i,$v['writer'])
->setCellValue('E'.$i,$v['senddate']);
   //给C列的文字加上链接
$objPHPExcel->getActiveSheet()->getCell('C'.$i)->getHyperlink()->setUrl($v['arcurl']);
$i++;
} //给C列的超链接字体颜色变成蓝色
$length = count($data)+1;
$objPHPExcel->getActiveSheet()->getStyle( 'C2:C'.$length)->getFont()->getColor()->setARGB(PHPExcel_Style_Color::COLOR_BLUE); //文件名称
$filename=urlencode('原创作品').'_'.date('YmdHis'); //生成xls文件
ob_end_clean();//清除缓冲区,避免乱码
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="'.$filename.'.xls"');
header('Cache-Control: max-age=0');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('php://output');

如果导出来的Excel文字都是乱码的话,一定要在header()前面加上ob_end_clean()!

还有很多关于Excel样式的一些设置,大家可以上网查一下相关的资料~

最新文章

  1. EF7 使用 K EF 异常
  2. linux线程同步(5)-屏障
  3. Mysql 慢查询和慢查询日志分析
  4. [Java] java文件读写操作大全
  5. JSON如何序列图片
  6. PIL(Python Image Library)生成验证码
  7. /var子目录
  8. Redis需要你来做的算法优化
  9. 【C#编程基础学习笔记】4---Convert类型转换
  10. 学习ExtjsForVs(第一个案例HelloWord)
  11. leetcode--011 copy list with random pointer
  12. iOS 8 之 新特性
  13. python 项目中的 requirements.txt
  14. angular-repeat
  15. 用HttpClient和用HttpURLConnection做爬虫发现爬取的代码少了的问题
  16. JS弹出对话框的三种方式
  17. 微信小程序select不能使用,如何实现同样的效果
  18. Linux命令----uname查看系统信息
  19. 实训二(cocos2dx 2.x 打包apk)
  20. java向mysql插入数据乱码

热门文章

  1. JMeter 实用插件配置
  2. React、React Native面试题
  3. Java修炼——键盘输入,字节转换流
  4. Redis 命令执行过程(下)
  5. 2019 湖南多校第一场(2018~2019NCPC) 题解
  6. HDU2833-WuKong(求不同起点,终点最短路的交点最多数量)
  7. 基于python的种子搜索网站(三)项目部署
  8. Python流程控制之循环结构
  9. PC端、移动端页面适配方案
  10. vue 页面间使用路由传参数,刷新页面后获取不到参数的问题