phpexcel mssql extjs 乱码的解决方法
2013-11-15 09:13
429 查看
前言
欢迎喜欢php的朋友、喜欢mssql的朋友、喜欢extjs的朋友,一起来交流,本人不才,建个群,希望各位老师赏光。QQ群: PHP-MSSQL-EXTJS 号码: 110888868
将mssql_fetch_array($result, MYSQL_NUM)改成$row = eval('return '.mb_convert_encoding(var_export(mssql_fetch_array($result, MYSQL_NUM),true),'utf-8','gb2312').';')
上实例,直接能跑
$conn = mssql_connect ( '127.0.0.1', 'sa', 'sa' ) or die ( "Could not connect" ); $alt_db = mssql_select_db ( gl, $conn ) or die ( "Could not select database" ); $sql_name = isset ( $_POST ['sql_name'] ) ? $_POST ['sql_name'] : 'client'; $customertt1 = $_POST['id1']; $customertt2 = $_POST['id2']; $customertt3 = $_POST['id3']; include_once ( './ext/PHPExcel.php'); include_once ('./ext/PHPExcel/Writer/Excel5.php'); include_once ( './ext/PHPExcel/IOFactory.php'); $objExcel = new PHPExcel(); $objExcel->setActiveSheetIndex(0); $objActSheet = $objExcel->getActiveSheet(); $setTitle='您好!!'; $setTable='员工信息'; $filename='登陆率统计表'; $objActSheet->setTitle("iconv('gbk', 'utf-8', $setTitle)"); $objActSheet->mergeCells('A1:E1'); $objActSheet->setCellValue ( 'A1',iconv('gbk', 'utf-8', $setTable) ); $objActSheet->getStyle ( 'A1' )->getFont ()->setSize ( 20 ); //# 设置单元格字体大小 $objActSheet->getStyle ( 'A1' )->getFont ()->setBold ( true ); //# 设置单元格字体类型 $objActSheet->getStyle ( 'A1' )->getAlignment ()->setHorizontal ( PHPExcel_Style_Alignment::HORIZONTAL_CENTER ); $objActSheet->getStyle ( 'A1' )->getAlignment ()->setVertical ( PHPExcel_Style_Alignment::VERTICAL_CENTER ); //设置表头 $k1='编号1'; $k2="姓名2"; $k3="住址3"; $k4="电话4"; $k5="生日5"; $objExcel->getActiveSheet()->setCellValue('a2', iconv('gbk', 'utf-8', $k1)); $objExcel->getActiveSheet()->setCellValue('b2', iconv('gbk', 'utf-8', $k2)); $objExcel->getActiveSheet()->setCellValue('c2', iconv('gbk', 'utf-8', $k3)); $objExcel->getActiveSheet()->setCellValue('d2', iconv('gbk', 'utf-8', $k4)); $objExcel->getActiveSheet()->setCellValue('e2', iconv('gbk', 'utf-8', $k5)); //读取数据库内容 $sql = "select * from dept"; mssql_query('set names utf-8');//这里要注意,我搞不懂utf8跟utf-8的区别,因此出现乱码,浪费了好多时间 $result = mssql_query($sql); $ii=3; $sheet = $objExcel->getActiveSheet(); while($row = eval('return '.mb_convert_encoding(var_export(mssql_fetch_array($result, MYSQL_NUM),true),'utf-8','gb2312').';') ) { $sheet->setCellValue('a'.$ii, "$row[0]"); $sheet->setCellValue('b'.$ii, "$row[1]"); $sheet->setCellValue('c'.$ii, "$row[2]"); $sheet->setCellValue('d'.$ii, "$row[3]"); $sheet->setCellValue('e'.$ii, "$row[4]"); $ii++; } $objExcel->setActiveSheetIndex(0); $objWriter = PHPExcel_IOFactory::createWriter($objExcel, 'Excel5'); output_excel($filename.'.xls'); $objWriter->save('php://output'); function output_excel($file_name) { header ( "Pragma: public" ); header ( "Expires: 0" ); header ( "Cache-Control: must-revalidate, post-check=0, pre-check=0" ); header ( "Content-Type: application/force-download" ); header ( "Content-Type: application/octet-stream" ); header ( "Content-Type: application/download" ); Header('content-Type:application/vnd.ms-excel;charset=utf-8'); header ( "Content-Disposition: attachment;filename=$file_name" ); header ( "Content-Transfer-Encoding: binary " ); }
相关文章推荐
- php查询mssql出现乱码的解决方法
- php apache mssql 日期乱码 解决方法
- phpexcel phpword下进行下载出现乱码的解决方法
- phpexcel 读取中文gbk数据的csv在linux服务器下乱码的解决方法.
- php导出EXCEL出现乱码的终极解决方法
- php查询mssql出现乱码的解决方法
- thinkphp调用PHPExcel扩展输出乱码解决方法
- 具体讲解PHP导出Excel乱码的解决方法
- PHP Excel类Spreadsheet_Excel_Writer 导出UTF8中文乱码的解决方法。
- 使用PHP下载Excel时会出现乱码的解决方法
- 具体讲解PHP导出Excel乱码的解决方法
- php中iconv函数使用方法,解决中文乱码
- PHPExcel在高版本PHP7中,Writer->save出现ERR_INVALID_RESPONSE错误的解决方法
- php mssql 日期出现中文字符的解决方法
- 探讨PHP JSON中文乱码的解决方法详解
- PHP使用文件流下载文件方法(附:解决下载文件内容乱码问题)
- PHP json_encode中文乱码解决方法
- php读mysql中文乱码问题解决方法
- MSSQL转MYSQL,gb2312转utf-8无乱码解决方法
- asp.net 导出excel 中的乱码问题及 到处内容丢失开头的0 的解决方法