ホームページ >バックエンド開発 >PHPチュートリアル >php_PHP チュートリアルで mysql から Excel ファイルをエクスポートする方法

php_PHP チュートリアルで mysql から Excel ファイルをエクスポートする方法

WBOY
WBOYオリジナル
2016-07-20 11:11:01937ブラウズ

この記事では、mysql データベースのデータを Excel ドキュメントにエクスポートする 2 つの方法を紹介します。それぞれの利点について参照してください。

php+mysqlを使って直接実装する最も簡単な方法を使用します。方法は次のとおりです。

コードは次のとおりです コードをコピーします
include('db/db.php') //ライブラリクラスをインクルードします
$db = new db();
$result = mysql_query ('select * frommarket_sig into outfile "d:product3.xls";');
var_dump($result);
?>

上記は、mysql outfile ファイルのエクスポートと組み合わせたネイティブ PHP です。このメソッドには、ダウンロード機能が実装できず、サーバー上でのみ生成されるという問題が 1 つあります。

次の方法はより包括的です

PHPExcelをダウンロードします: http://phpexcel.codeplex.com

まずコードを見てみましょう

コードは次のとおりです コードをコピーします

class Table_export extends CI_Controller {

function __construct()
{
parent::__construct();

// ここで、見知らぬ人がプルするのを防ぐために、ある種のユーザー検証を追加する必要があります
//テーブルのデータ
}

関数インデックス ($table_name)
{
$this->load->database();
$query = $this->db->query("select * from `$ table_name` WHERE del= 1");
// $query = mb_convert_encoding("gb2312", "UTF-8", $query);
if(!$query)
return false;

// PHPExcel ライブラリの開始
$this->load-> ;library('PHPExcel');
$this->load->library('PHPExcel/IOFactory');

$objPHPExcel = new PHPExcel();
$objPHPExcel- >getProperties()->setTitle ("export")->setDescription("none");

$objPHPExcel->setActiveSheetIndex(0)
->setCellValue('A1', iconv('gbk' , 'utf-8', '中文Hello'))
->setCellValue('B2', 'world!')
->setCellValue('C1', 'Hello');
// のフィールド名最初の行
$fields = $query- >list_fields();
$col = 0;
foreach ($fields as $field)
{
$objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow($col, 1 , $field);
$col++
}

// テーブルデータを取得します
$row = 2;
foreach($query->result() as $data)
{
$col = 0;
foreach; ($fields を $field として)
{
$objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow($col, $row, $data->$field);
$col++;
}

$row++;
}

$objPHPExcel->setActiveSheetIndex (0);

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

//ユーザーにファイルのダウンロードを強制するヘッダーを送信します
header(' Content-Type: application/vnd.ms-excel');
header('Content-Disposition:attachment;filename="Products_'.date('dMy').'.xls"');
header('Cache-コントロール: max-age=0');

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

}
?>


設定を見てみましょうメソッド

1) 圧縮パッケージ内の Classes フォルダーの内容を解凍します。applicationlibraries ディレクトリの下のディレクトリ構造は次のとおりです。

-- applicationlibrariesPHPExcel.php

-- applicationlibrariesPHPExcel (フォルダー)

2) applicationlibrariesPHPExcelIOFactory.php ファイル

-- CI クラスの命名規則に従って、クラス名を PHPExcel_IOFactory から IOFactory に変更します。

-- コンストラクターを public に変更します


phpexcel プラグインは非常に実用的で Excel テーブルの操作が簡単であるため、このメソッドのような私が好んで使用するメソッドがたくさんあります。


www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/444693.html技術記事この記事では、mysql データベースのデータを Excel ドキュメントにエクスポートする 2 つの方法を紹介します。それぞれのメリットについて参照してください。 php+mysqlを使用して直接実装する最も簡単な方法を使用します...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。