ホームページ > php教程 > php手册 > PHPEXCEL の使用上の注意

PHPEXCEL の使用上の注意

WBOY
リリース: 2016-06-13 11:55:56
オリジナル
1011 人が閲覧しました

最初に PHP Reader を使用します读取Excle 内容:

复制代 代码如下:


require("http://www .jb51.net/PHPExcel/Classes/PHPExcel.php");
$file = "D:\datas.xlsx";
if(!file_exists($file)){
die("{$file} にファイルが見つかりません");
}
$datasReader = PHPExcel_IOFactory::load($file);
$sheets = $datasReader->getAllSheets();
//如果には複数のワークディレクトリがあります
$countSheets = count($sheets);
$sheetsinfo = array();
$sheetData = array();
if($countSheets==1){
$sheet = $sheets[0];
$sheetsinfo["rows"] = $sheet->getHighestRow();
$sheetsinfo["column"] = PHPExcel_Cell::columnIndexFromString($sheet->getHighestColumn());
for($row=1;$row<=$sheetsinfo["rows"];$row ){
for($column=0;$column<$sheetsinfo["column"];$column ) {
$sheetData[$column][$row] = $sheet->getCellByColumnAndRow($column, $row)->getValue();
}
}
}else{
foreach ($sheets as $key => $sheet)
{
$sheetsinfo[$key]["rows"] = $シート->getHighestRow();
$sheetsinfo[$key]["column"] = PHPExcel_Cell::columnIndexFromString($sheet->getHighestColumn());
for($row=1;$row<=$sheetsinfo[$key]["rows"];$row ){
for($column=0;$column<$sheetsinfo[$key][ "列"];$column ){
$sheetData[$key][$column][$row] = $sheet->getCellByColumnAndRow($column, $row)->getValue();
}
}
}
}
echo "

"; <BR>print_r($sheetData); <BR>エコー "
";


注:PHP 读取excel文件内容を使用します。一般的には処理整理好格式のcsvまたはexcel、またはxml文件を读取することもできます。

PHPExcel生成Excel

复制代码代码如下:


$sql = sprintf("select * from table where op_id=%d", intval($this->params['id']));
$query = $this->db->query($sql);
require_once './PHPExcel_1.7.4/Classes/PHPExcel.php';
$objPHPExcel = new PHPExcel();
$objPHPExcel->setActiveSheetIndex(0);
$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(10);
$objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(15);
$objPHPExcel->getActiveSheet()->getColumnDimension('C')->setWidth(15);
$objPHPExcel->getActiveSheet()->getColumnDimension('D')->setWidth(15);
$objPHPExcel->getActiveSheet()->getColumnDimension('E')->setWidth(15);
$objPHPExcel->getActiveSheet()->setCellValue('A1', "{$this->_packInfos['o_id']}");
$objPHPExcel->getActiveSheet()->setCellValue('B1', "体積重量 (kg)");
$objPHPExcel->getActiveSheet()->setCellValue('D1', "実際の重量 (kg)");


$objPHPExcel->getActiveSheet()->setCellValue('A2', "ボックス番号");
$objPHPExcel->getActiveSheet()->setCellValue('B2', "Products");
$objPHPExcel->getActiveSheet()->setCellValue('C2', "配送ボックス");
$objPHPExcel->getActiveSheet()->setCellValue('D2', "System");
$objPHPExcel->getActiveSheet()->setCellValue('E2', "Input");
$objActSheet = $objPHPExcel->getActiveSheet();
$objActSheet->mergeCells("B1:C1");
$objActSheet->mergeCells("D1:E1");

$objPHPExcel->getActiveSheet()->getStyle('A1')->getAlignment()->sethorizo​​ntal(PHPExcel_Style_Alignment::HORIZONTAL_LEFT);
$objPHPExcel->getActiveSheet()->getStyle('B1')->getAlignment()->sethorizo​​ntal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
$objPHPExcel->getActiveSheet()->getStyle('D1')->getAlignment()->sethorizo​​ntal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);

$objPHPExcel->getActiveSheet()->getStyle('A2'.($i))->getAlignment()->sethorizo​​ntal(PHPExcel_Style_Alignment::HORIZONTAL_LEFT);
$objPHPExcel->getActiveSheet()->getStyle('B2'.($i))->getAlignment()->sethorizo​​ntal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
$objPHPExcel->getActiveSheet()->getStyle('C2'.($i))->getAlignment()->sethorizo​​ntal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
$objPHPExcel->getActiveSheet()->getStyle('D2'.($i))->getAlignment()->sethorizo​​ntal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
$objPHPExcel->getActiveSheet()->getStyle('E2'.($i))->getAlignment()->sethorizo​​ntal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);

if($this->_db->num_rows($query)>0)
{
$i=3;
while ($row = $this->db->fetch_assoc($query))
{
$objPHPExcel->getActiveSheet()->setCellValue('A'.($i) ),"ボックス ".$row['box_num']);
$objPHPExcel->getActiveSheet()->setCellValue('B'.($i),sprintf("%.2f",$row['volume_weight']));
$objPHPExcel->getActiveSheet()->setCellValue('C'.($i),sprintf("%.2f",$row['box_weight']));
$objPHPExcel->getActiveSheet()->setCellValue('D'.($i),sprintf("%.2f",$row['system_weight']));
$objPHPExcel->getActiveSheet()->setCellValue('E'.($i),sprintf("%.2f",$row['real_weight']));

$objPHPExcel->getActiveSheet()->getStyle('A'.($i))->getAlignment()->sethorizo​​ntal(PHPExcel_Style_Alignment::HORIZONTAL_LEFT);
$objPHPExcel->getActiveSheet()->getStyle('B'.($i))->getAlignment()->sethorizo​​ntal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT);
$objPHPExcel->getActiveSheet()->getStyle('C'.($i))->getAlignment()->sethorizo​​ntal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT);
$objPHPExcel->getActiveSheet()->getStyle('D'.($i))->getAlignment()->sethorizo​​ntal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT);
$objPHPExcel->getActiveSheet()->getStyle('E'.($i))->getAlignment()->sethorizo​​ntal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT);
$i ;
}
}

$fileName="exportBox.xls";
$filePath = dirname(dirname("__FILE__"))."/template/".$fileName;
$path = "./template/".$ファイル名;
$objWriter = 新しい PHPExcel_Writer_Excel2007($objPHPExcel);
if(file_exists($path)){
chmod($path, 0777);
リンク解除($path);
$objWriter->save($path);
header('application/vnd.ms-excel');
header('Content-Disposition:attachment;filename=weight-'.$this->_packInfos["o_id"].".xlsx");
readfile($filePath);
死ぬ();
}
else
{
$objWriter->save($path);
header('application/vnd.ms-excel');
header('Content-Disposition:attachment; filename=weight-'.$this->_packInfos["o_id"].".xlsx");
readfile($filePath)
}

注: PHP を使用して Excel を生成する上記の方法では、A タグを直接使用します。ajax を使用する場合は、ヘッダーを使用する必要はなく、$path とフロントエンドの window.location.href を直接エコーするだけです。 = パスを返します。
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート