PHP 에서 테이프 스타일 의 Excel 내 보 내기
6552 단어 PHPExcel 내 보 내기
색상,글꼴 크기,굵기,셀 병합 등 을 설정 해 야 합 니 다.
효과 그림:
PHP 코드:
/**
*
* @return string
*/
public function export()
{
$file_name = " -".date("Y-m-d H:i:s",time());
$file_suffix = "xls";
header("Content-Type: application/vnd.ms-excel");
header("Content-Disposition: attachment; filename=$file_name.$file_suffix");
// , 。
$this->display();
}
HTML 코드:
<html xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:x="urn:schemas-microsoft-com:office:excel"
xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv=Content-Type content="text/html; charset=utf-8">
<meta name=ProgId content=Excel.Sheet>
<meta name=Generator content="Microsoft Excel 11">
</head>
<body>
<table border=1 cellpadding=0 cellspacing=0 width="100%" >
<tr>
<td colspan="5" align="center">
<h2> </h2>
</td>
</tr>
<tr>
<td style='width:54pt' align="center"> </td>
<td style='width:54pt' align="center"> </td>
<td style='width:54pt' align="center"> </td>
<td style='width:54pt' align="center"> </td>
<td style='width:54pt' align="center"> </td>
</tr>
<tr>
<td align="center">1</td>
<td style="background-color: #00CC00;" align="center">Jone</td>
<td style="background-color: #00adee;" align="center">90</td>
<td style="background-color: #00CC00;" align="center">85</td>
<td style="background-color: #00adee;" align="center">100</td>
</tr>
<tr>
<td align="center">2</td>
<td style="background-color: #00CC00;" align="center">Tom</td>
<td style="background-color: #00adee;" align="center">99</td>
<td style="background-color: #00CC00;" align="center">85</td>
<td style="background-color: #00adee;" align="center">80</td>
</tr>
</table>
</body>
</html>
더 편리 한 구성 요 소 를 보 겠 습 니 다.여기에 PEAR 을 사용 하 는 두 개의 패키지 인 Spreadsheet Excel Writer 와 OLE 가 필요 하 며,없 으 면 각각http://pear.php.net/package/Spreadsheet_Excel_Writer/과http://pear.php.net/package/OLE/에서 다운로드 하여 PEAR 디 렉 터 리 에 압축 을 풀 수 있 습 니 다.
모든 코드 는 다음 과 같 습 니 다:
<?php
include 'Writer.php';
/* *** *** */
$head = 'One Week Schedule';
$data = array('Monday' => array( array('time' => '09:00', 'event' => ' '),
array('time' => '14:00', 'event' => ' ')
),
'Tuesday' => array( array('time' => '09:30', 'event' => ' Mr. Stinsen ')),
'Wednesday' => array(array('time' => '12:10', 'event' => ' '),
array('time' => '15:30', 'event' => ' ') ),
'Thursday' => array( array('time' => '', 'event' => '')),
'Friday' => array( array('time' => '16:00', 'event' => 'WoC Stock '),
array('time' => '17:00', 'event' => ' '),
array('time' => '21:00', 'event' => ' '))
);
/* *** *** */
$workbook = new Spreadsheet_Excel_Writer();
$filename = date('YmdHis').'.xls';//csv
$workbook->send($filename); // Excel
$workbook->setVersion( 8 );
$sheet = &$workbook->addWorksheet("Sheet1"); //
$sheet->setInputEncoding('utf-8'); //
$headFormat = &$workbook->addFormat(array('Size' => 14, 'Align' => 'center','Color' => 'white', 'FgColor' => 'brown', 'Bold'=>'1', 'Border' => '1'));//
$dayFormat = &$workbook->addFormat(array('Size' => 12, 'Align' => 'center', 'VAlign' => 'vcenter', 'FgColor' => 'green', 'Color' => 'white', 'Border' => '1'));//
$dataFormat = &$workbook->addFormat(array('Size' => 10, 'Align' => 'left', 'Border' => '1', 'Color' => 'black', 'FgColor'=> 'cyan'));//
$sheet->setColumn(0, 0, 20); //
$sheet->setColumn(1, 1, 15); //
$sheet->setColumn(2, 2, 30); //
$r = 0;
$sheet->write(0, $r, $head, $headFormat); //
$sheet->mergeCells(0, 0, 0, 2); //
$r++; // 2
foreach ($data as $day => $events){
$c = 0;
$sheet->write($r, $c, $day, $dayFormat);
if (!$events){
//
$r++;
} else {
$startRow = $r;
foreach ($events as $e){
$c = 1;
$sheet->write($r, $c++, $e['time'], $dataFormat); //
$sheet->write($r, $c++, $e['event'], $dataFormat); //
$r++;
}
// $day
$sheet->mergeCells($startRow, 0, $r - 1, 0);
}
}
$workbook->close(); //
?>
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
laravel에 yo에서 angularJs&coffeescript를 사용할 수 있도록 한다.먼저 yo 명령을 사용할 수 있어야하므로 아래에서 설치 global에 설치한 곳에서 laravel의 프로젝트 루트로 이동. 클라이언트 코드를 관리하는 디렉토리를 만들고 이동합니다. 클라이언트 환경 만들기 이것으로 히...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.