我正在使用 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.ini 中没有更改数据库/硬编码数组。我希望这一切都是动态的,并且数据库将保持原样