PHP を使用して Excel にエクスポートするときに MySQL データの配置の問題を修正する方法

Barbara Streisand
リリース: 2024-11-24 05:24:15
オリジナル
377 人が閲覧しました

How to Fix MySQL Data Alignment Issues When Exporting to Excel using PHP?

PHP で MySQL データを Excel にエクスポートする

セルの配置に関する問題のトラブルシューティング

MySQL データが Excel のセル内で正しく配置されておらず、複数の行がある場合のデータが 1 つのセルに収まってしまいます。これを解決する方法は次のとおりです。問題:

解決策:

複数の行を正しく処理するには、提供された PHP スクリプトをいくつか変更する必要があります。修正されたコードは次のとおりです:

<?php
// Database connection details
$DB_Server = "localhost";
$DB_Username = "username";
$DB_Password = "password";
$DB_DBName = "databasename";
$DB_TBLName = "tablename";
$filename = "exportfile"; // File name

// Create MySQL connection
$Connect = @mysql_connect($DB_Server, $DB_Username, $DB_Password) or die("Couldn't connect to MySQL: " . mysql_error() . "<br>" . mysql_errno());

// Select database
$Db = @mysql_select_db($DB_DBName, $Connect) or die("Couldn't select database: " . mysql_error() . "<br>" . mysql_errno());

// Execute query
$sql = "SELECT username, password, fullname FROM ecustomer_users WHERE fk_customer='$fk_customer'";
$result = @mysql_query($sql, $Connect) or die("Couldn't execute query: " . mysql_error() . "<br>" . mysql_errno());

// Header info for browser
header("Content-Type: application/xls");
header("Content-Disposition: attachment; filename=$filename.xls");
header("Pragma: no-cache");
header("Expires: 0");

// Start formatting for Excel
$sep = "\t"; // Tabbed character

// Print column names
for ($i = 0; $i < mysql_num_fields($result); $i++) {
    echo mysql_field_name($result, $i) . $sep;
}
echo "\n";

// Start while loop to get data
while ($row = mysql_fetch_row($result)) {
    $schema_insert = "";
    for ($j = 0; $j < mysql_num_fields($result); $j++) {
        if (!isset($row[$j])) {
            $schema_insert .= "NULL" . $sep;
        } elseif ($row[$j] != "") {
            $schema_insert .= "$row[$j]" . $sep;
        } else {
            $schema_insert .= "" . $sep;
        }
    }
    $schema_insert = str_replace($sep . "$", "", $schema_insert);
    $schema_insert = preg_replace("/\r\n|\n\r|\n|\r/", " ", $schema_insert);
    $schema_insert .= "\t";
    print(trim($schema_insert));
    print "\n";
}
mysql_close($Connect);
ログイン後にコピー

以上がPHP を使用して Excel にエクスポートするときに MySQL データの配置の問題を修正する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート