如果导出中文时出现乱码,可以尝试将字符串转换成gb2312,例如下面就把<span>
$yourStr
从utf</span>-8转换成了gb2312:
<span>
$yourStr
</span> = mb_convert_encoding(
"gb2312"
,
"UTF-8"
, <span>
$yourStr
</span><span>);
总结 php导出Excel php导入Excel PhpExcel使用说明 PhpExcel使用手册
</span>1:第一推荐无比风骚的PHPExcel,官方网站: http:<span>
<span>导入导出都成,可以导出office2007格式,同时兼容2003。
下载下来的包中有文档和例子,大家可以自行研究。
</span><?
<span>
<span>set_include_path</span>(
'.'
. PATH_SEPARATOR .
'D:\workspace\biznaligy_eh\dev_src\includes\PHPExcel'
. PATH_SEPARATOR . <span>get_include_path</span><span>());
</span><span>
</span>
<span>
require_once
</span>
'PHPExcel.php'
<span>;
</span><span>
require_once
</span>
'PHPExcel/Writer/Excel5.php'
; <span>
<span>
require_once
</span>
'PHPExcel/Writer/Excel2007.php'
; <span>
<span>
$objExcel
</span> = <span>
new
</span><span> PHPExcel();
</span><span>
<span>
$objWriter
</span> = <span>
new
</span> PHPExcel_Writer_Excel5(<span>
$objExcel
</span>); <span>
<span>
$objProps
</span> = <span>
$objExcel
</span>-><span>getProperties();
</span><span>
$objProps
</span>->setCreator(
"Zeal Li"
<span>);
</span><span>
$objProps
</span>->setLastModifiedBy(
"Zeal Li"
<span>);
</span><span>
$objProps
</span>->setTitle(
"Office XLS Test Document"
<span>);
</span><span>
$objProps
</span>->setSubject(
"Office XLS Test Document, Demo"
<span>);
</span><span>
$objProps
</span>->setDescription(
"Test document, generated by PHPExcel."
<span>);
</span><span>
$objProps
</span>->setKeywords(
"office excel PHPExcel"
<span>);
</span><span>
$objProps
</span>->setCategory(
"Test"
<span>);
</span><span>
<span>
$objExcel
</span>->setActiveSheetIndex(0<span>);
</span><span>
$objActSheet
</span> = <span>
$objExcel
</span>-><span>getActiveSheet();
</span><span>
<span>
$objActSheet
</span>->setTitle(
'测试Sheet'
<span>);
</span><span>
<span>
$objActSheet
</span>->setCellValue(
'A1'
,
'字符串内容'
); <span>
<span>
$objActSheet
</span>->setCellValue(
'A2'
, 26); <span>
<span>
$objActSheet
</span>->setCellValue(
'A3'
, <span>true</span>); <span>
<span>
$objActSheet
</span>->setCellValue(
'A4'
,
'=SUM(A2:A2)'
); <span>
<span>
$objActSheet
</span>->setCellValueExplicit(
'A5'
,
'8757584'
,PHPExcel_Cell_DataType::<span>TYPE_STRING);
</span><span>
<span>
$objActSheet
</span>->mergeCells(
'B1:C22'
<span>);
</span><span>
<span>
$objActSheet
</span>->unmergeCells(
'B1:C22'
<span>);
</span><span>
<span>
$objActSheet
</span>->getColumnDimension(
'B'
)->setAutoSize(<span>true</span><span>);
</span><span>
$objActSheet
</span>->getColumnDimension(
'A'
)->setWidth(30<span>);
</span><span>
<span>
$objStyleA5
</span> = <span>
$objActSheet
</span> ->getStyle(
'A5'
<span>);
</span><span>
$objStyleA5
</span> ->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::<span>FORMAT_NUMBER);
</span><span>
<span>
$objFontA5
</span> = <span>
$objStyleA5
</span>-><span>getFont();
</span><span>
$objFontA5
</span>->setName(
'Courier New'
<span>);
</span><span>
$objFontA5
</span>->setSize(10<span>);
</span><span>
$objFontA5
</span>->setBold(<span>true</span><span>);
</span><span>
$objFontA5
</span>->setUnderline(PHPExcel_Style_Font::<span>UNDERLINE_SINGLE);
</span><span>
$objFontA5
</span> ->getColor()->setARGB(
'FFFF0000'
<span>) ;
</span><span>
$objFontA5
</span> ->getColor()->setARGB( PHPExcel_Style_Color::<span>COLOR_WHITE);
</span><span>
<span>
$objAlignA5
</span> = <span>
$objStyleA5
</span>-><span>getAlignment();
</span><span>
$objAlignA5
</span>->setHorizontal(PHPExcel_Style_Alignment::<span>HORIZONTAL_RIGHT);
</span><span>
$objAlignA5
</span>->setVertical(PHPExcel_Style_Alignment::<span>VERTICAL_CENTER);
</span><span>
<span>
$objBorderA5
</span> = <span>
$objStyleA5
</span>-><span>getBorders();
</span><span>
$objBorderA5
</span>->getTop()->setBorderStyle(PHPExcel_Style_Border::<span>BORDER_THIN);
</span><span>
$objBorderA5
</span>->getTop()->getColor()->setARGB(
'FFFF0000'
) ; <span>
<span>
$objBorderA5
</span>->getBottom()->setBorderStyle(PHPExcel_Style_Border::<span>BORDER_THIN);
</span><span>
$objBorderA5
</span>->getLeft()->setBorderStyle(PHPExcel_Style_Border::<span>BORDER_THIN);
</span><span>
$objBorderA5
</span>->getRight()->setBorderStyle(PHPExcel_Style_Border::<span>BORDER_THIN);
</span><span>
<span>
$objFillA5
</span> = <span>
$objStyleA5
</span>-><span>getFill();
</span><span>
$objFillA5
</span>->setFillType(PHPExcel_Style_Fill::<span>FILL_SOLID);
</span><span>
$objFillA5
</span>->getStartColor()->setARGB(
'FFEEEEEE'
<span>);
</span><span>
<span>
$objActSheet
</span>->duplicateStyle(<span>
$objStyleA5
</span>,
'B1:C22'
<span>);
</span><span>
<span>
$objDrawing
</span> = <span>
new
</span><span> PHPExcel_Worksheet_Drawing();
</span><span>
$objDrawing
</span>->setName(
'ZealImg'
<span>);
</span><span>
$objDrawing
</span>->setDescription(
'Image inserted by Zeal'
<span>);
</span><span>
$objDrawing
</span>->setPath(
'./zeali.net.logo.gif'
<span>);
</span><span>
$objDrawing
</span>->setHeight(36<span>);
</span><span>
$objDrawing
</span>->setCoordinates(
'C23'
<span>);
</span><span>
$objDrawing
</span>->setOffsetX(10<span>);
</span><span>
$objDrawing
</span>->setRotation(15<span>);
</span><span>
$objDrawing
</span>->getShadow()->setVisible(<span>true</span><span>);
</span><span>
$objDrawing
</span>->getShadow()->setDirection(36<span>);
</span><span>
$objDrawing
</span>->setWorksheet(<span>
$objActSheet
</span><span>);
</span><span>
<span>
$objExcel
</span>-><span>createSheet();
</span><span>
$objExcel
</span>->getSheet(1)->setTitle(
'测试2'
<span>);
</span><span>
<span>
$objExcel
</span>->getSheet(1)->getProtection()->setSheet(<span>true</span><span>);
</span><span>
$objExcel
</span>->getSheet(1)->protectCells(
'A1:C22'
,
'PHPExcel'
<span>);
</span><span>
<span>
$objPHPExcel
</span>->getActiveSheet()->setShowGridlines(<span>true</span><span>);
</span><span>
<span>
$objPHPExcel
</span>->getActiveSheet()->getColumnDimension(
'C'
)->setVisible(<span>true</span><span>);
</span><span>
$objPHPExcel
</span>->getActiveSheet()->getColumnDimension(
'D'
)->setVisible(<span>false</span><span>);
</span><span>
<span>
$objPHPExcel
</span>->getActiveSheet()->getRowDimension(
'10'
)->setVisible(<span>false</span><span>);
</span><span>
<span>
$objPHPExcel
</span>->getActiveSheet()->getDefaultColumnDimension()->setWidth(12<span>);
</span><span>
<span>
$objPHPExcel
</span>->getActiveSheet()->getDefaultRowDimension()->setRowHeight(15<span>);
</span><span>
<span>
$objPHPExcel
</span>->getActiveSheet()->getDefaultStyle()->getFont()->setName(
'Arial'
<span>);
</span><span>
$objPHPExcel
</span>->getActiveSheet()->getDefaultStyle()->getFont()->setSize(8<span>);
</span><span>
$objPHPExcel
</span>->getActiveSheet()->getDefaultStyle()-><span>getAlignment();
</span><span>
$objPHPExcel
</span>->getActiveSheet()->getDefaultStyle()->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::<span>HORIZONTAL_CENTER);
</span><span>
$objPHPExcel
</span>->getActiveSheet()->getDefaultStyle()->getAlignment()->setVertical(PHPExcel_Style_Alignment::<span>VERTICAL_CENTER);
</span><span>
<span>
$outputFileName
</span> =
"output.xls"
<span>;
</span><span>
<span>header</span>(
"Content-Type: application/force-download"
<span>);
</span><span>header</span>(
"Content-Type: application/octet-stream"
<span>);
</span><span>header</span>(
"Content-Type: application/download"
<span>);
</span><span>header</span>(
'Content-Disposition:inline;filename="'
.<span>
$outputFileName
</span>.
'"'
<span>);
</span><span>header</span>(
"Content-Transfer-Encoding: binary"
<span>);
</span><span>header</span>(
"Last-Modified: "
. <span>
gmdate
</span>(
"D, d M Y H:i:s"
) .
" GMT"
<span>);
</span><span>header</span>(
"Cache-Control: must-revalidate, post-check=0, pre-check=0"
<span>);
</span><span>header</span>(
"Pragma: no-cache"
<span>);
</span><span>
$objWriter
</span>->save(
'php://output'
<span>);
</span>?>