PHP を使用して MYSQL データベースにクエリを実行しており、データを Excel ファイルに出力しようとしています。
私はphpexcel、csvなどを使用しました。それぞれでデータをExcelファイルに正常に出力できましたが、Excelで転置できないようです(転置-すべての列を行に反転し、行を列に反転します) )
役立つチュートリアルが見つかりません。
私の質問は、php を使用して MYSQL からこれらの行と列を転置し、それらを Excel ファイルにインポートする方法はありますか?
ありがとう!
コード:
exportMysqlToCsv($tablename,$tokenmain, $id);
function exportMysqlToCsv($tablename,$tokenmain, $id, $filename = 'Results.csv'){
$sql_query = "select * from $tablename where token=1";
// Gets the data from the database
$result = mysql_query($sql_query);
$f = fopen('php://temp', 'wt');
$first = true;
//trying to transpose the data
function transpose($array) {
array_unshift($array, null);
return call_user_func_array('array_map', $array);}
//inserting it into the excel file
while ($row = mysql_fetch_assoc($result)) {
if ($first) {
fputcsv($f, array_keys($row));
$first = false;
}
fputcsv($f, $row);
}
} //end while
データベースのサンプル:
=======================================
| Male/female | Favorite artist |
=====+========+===============+=======|
| F | Britney Spears |
|-------------------------------------|
私はそれをどのように見せたいですか:
=====================================
|Question | Answer |
=====+========+===============+=====|
| Male/female | F |
|----+--------+---------------+-----|
| Favorite artist | Britney Spears |
|----+--------+---------------+-----|
大きな注意:データベースを変更したり、PHP で配列をハードコーディングしたりする必要はありません。すべてを動的にしたいのですが、データベースは現状のままです