ホームページ > バックエンド開発 > PHPチュートリアル > phpexcelの読み取り出力操作

phpexcelの読み取り出力操作

WBOY
リリース: 2016-06-23 13:27:05
オリジナル
836 人が閲覧しました

//Read

header("Content-Type:text/html;charset=utf-8");
include 'Classes/PHPExcel.php'
include 'Classes/PHPExcel / IOFactory.php';

function readxls($file, $type) {
$xlsReader = PHPExcel_IOFactory::createReader($type);
$xlsReader->setReadDataOnly(true);
$xlsReader->setLoadSheetsOnly( true );
$sheets = $xlsReader->load($file);
$content = $sheets->getSheet(0)->toArray(); //最初のワークシートを読み取ります (0 から始まる番号に注意してください) ) 複数回読み取る場合は、ループ 0,1,2,3....
//2 次元配列を取得します。それぞれの小さな配列は、このテーブルの各列を含む Excel テーブルの内容の行です。 row.Data
return $content;
}

//$type = 'Excel2007'; //Excel の種類を Excel5 (2003 以前) または Excel2007 に設定します
$type = 'Excel5';
$content = readxls ( 'data.xls', $type);
echo '

';<br> var_dump($content);<br> echo '
';

//出力書き込み

header('Content-Type:text/html;charset=utf-8');
include 'PHPExcel_1.8.0_doc/Classes/PHPExcel.php';
include 'PHPExcel_1.8.0_doc/Classes/PHPExcel/IOFactory. php';
set_time_limit(0);
function write_xls($data=array(), $title=array(), $filename='report'){
$objPHPExcel = new PHPExcel();
$objPHPExcel-> setActiveSheetIndex(0);
$cols = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
//タイトルを設定します
for($i=0,$length=count($title); $i<$length; $i++) {
$objPHPExcel- > ;getActiveSheet()->setCellValue($cols{$i}.'1', $title[$i]);
}
// タイトルのスタイルを設定します (ニーズに応じて必要かどうかを決定できます) )
// $titleCount = count($title);
// $r = $cols{0}.'1';
// $c = $cols{$titleCount}.'1';
// $ objPHPExcel->getActiveSheet() ->getStyle("$r:$c")->applyFromArray(
// array(
// 'font' => array(
// 'bold' => true
// ),
// 'alignment' => array(
// 'horizo​​ntal' => PHPExcel_Style_Alignment::HORIZONTAL_RIGHT,
// ),
// 'borders' => 'top' => 配列 (
// 'style' => PHPExcel_Style_Border::BORDER_THIN
// )
// ),
// 'fill' => 'type' => PHPExcel_Style_Fill::FILL_GRADIENT_LINEAR,
/ / 'rotation' => 90,
// 'startcolor' => array(
// 'argb' => 'FFA0A0A0'
// ),
// 'endcolor' => array(
/ / 'argb' => 'FFFFFFFF'
// )
// )
// )
// );

$i = 0;

foreach($data as $d) { //ここでは foreach を使用します。連想配列と数値インデックス配列をサポートします

$j = 0;
foreach($d as $v) { //ここでは Foreach を使用し、連想配列と数値インデックス配列をサポートします
$objPHPExcel-> getActiveSheet()->setCellValue( $cols{$j}.($i+2), $v);
$j++;
}
$i++;
}
// ダイレクト用に 2003 Excel 形式の xls ファイルを生成しますダウンロード
/* header('Content-Type : application/vnd.ms-excel');
header('Content-Disposition:attachment;filename="'.$filename.'.xls"');
header('キャッシュ制御: max-age=0' );

$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');

$objWriter->save('php://output');*/


// 2007excel 形式で xls ファイルを生成し、指定したパスに保存します

$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');

$objWriter->save('a.xlsx');
}

$arr=array();

mysql_connect(' localhost','root','');

mysql_query('set names utf8');
mysql_query('use test');
$sql='select id ID $res=mysql_query($sql);
while($ret=mysql_fetch_assoc($res))
{
$arr[]=$ret;
}
$arr_type=array('アイテム ID','名前' ,'ブランド ID');
write_xls($arr,$arr_type,'レポート');

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート