0

我想使用 php 生成 excelsheet 那么哪种方法或代码更适合用于生成动态 excelsheet?请查看屏幕截图以了解更多我面临的问题。! 所需的excel表格格式的截图 请,任何人都可以帮我解决这些问题吗?提前致谢。

我正在使用下面的代码示例。

$result = mysql_query("SELECT * FROM ".$pre."customers");
    if (!$result) die('Couldn\'t fetch records');
    $num_fields = mysql_num_fields($result);
    $headers = array();

    for ($i = 0; $i < $num_fields; $i++) 
    {
        $headers[] = mysql_field_name($result , $i);
        mysql_field_name($result , $i);
    }

    $fp = fopen('php://output', 'w');
    if ($fp && $result)
    {
            header('Content-Type: text/csv');
            header('Content-Disposition: attachment; filename="export1.csv"');
            header('Pragma: no-cache');
            header('Expires: 0');
            fputcsv($fp, $headers);

            while ($row = mysql_fetch_row($result)) 
            {
                 fputcsv($fp, array_values($row));
            }

            die;
     }

但我不认为我可以将任何单元格锁定到这个 Excel 表中。那么哪种 php 方法或类适合为我的目的生成 excelsheet 呢?

4

2 回答 2

0

似乎您想从 CSV 中获取更多信息。你知道excel中的导入功能吗?您可以轻松地将文档设置为仅从您自己的 php-service 等接收动态内容为 CSV(下部)...

我的 Excel 版本是丹麦语,但它在 det 数据选项卡下,类似于“来自互联网”:)

于 2012-10-22T09:43:27.483 回答
0
public function get_excel($err = array())
 {

     // Clear any previous output
ob_end_clean();
// I assume you already have your $result
$search = ($this->uri->segment(2))?$this->uri->segment(2):'key';
$result=mysql_query("select * from job");
$num_fields = mysql_num_fields($result);


// Fetch MySQL result headers
$headers = array();
//$headers[] = "serial no";
for ($i = 0; $i < $num_fields; $i++) {


    $headers[] = strtoupper(mysql_field_name($result , $i));
}


// Filename with current date
$current_date = date("y/m/d");
$filename = "MyFileName" . $current_date . ".csv";

// Open php output stream and write headers
$fp = fopen('php://output', 'w');
if ($fp && $result) {
    header('Content-Type: text/csv');
    header('Content-Disposition: attachment; filename='.$filename);
    header('Pragma: no-cache');
    header('Expires: 0');

    // Write mysql headers to csv
    fputcsv($fp, $headers);
    //$row_tally = 0;
    // Write mysql rows to csv
    while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
   // $row_tally = $row_tally + 1;
    //echo $row_tally.",";
        fputcsv($fp, array_values($row));
    }
    die;
}

 }
于 2014-11-27T06:44:34.700 回答