1

ファイルを Excel ファイルに変換するプログラムを使用していますが、何らかの理由で電話番号と電子メールのフィールドが入れ替わってしまいます。このように見えます -

firstname   lastname    email   phone
test                            bi@gmail.com
test            d               813-767 leighmimail.com
test            Pds         888-413 Bperotects.com

メールと電話を切り替える必要があります

コード:

   <?php
session_start();

$num = $_SESSION['num'];
    $firstname =  $_SESSION['firstnameexport'];
    $lastname = $_SESSION['lastnameexport'];
    $email = $_SESSION['emailexport'];
    $phone = $_SESSION['phoneexport'];

    for($i =0; $i< $num; $i++){
    $data[$i] = array(
    "firstname" => $firstname[$i] , "lastname" => $lastname[$i], "email" => $email[$i], "phone" => $phone[$i]);
    }

function cleanData(&$str)
  {
    $str = preg_replace("/\t/", "\\t", $str);
    $str = preg_replace("/\r?\n/", "\\n", $str);
    if(strstr($str, '"')) $str = '"' . str_replace('"', '""', $str) . '"';
  }

// filename for download
  $filename = "website_data_" . date('Ymd') . ".xls";

  header("Content-Disposition: attachment; filename=\"$filename\"");
  header("Content-Type: application/vnd.ms-excel");

  $flag = false;
  foreach($data as $row) {
    if(!$flag) {
      // display field/column names as first row
      echo implode("\t", array_keys($row)) . "\r\n";
      $flag = true;
    }
     array_walk($row, 'cleanData');
    echo implode("\t", array_values($row)) . "\r\n";
  }


unset($_SESSION['num'],$_SESSION['firstnameexport'],$_SESSION['lastnameexport'],$_SESSION['emailexport'],$_SESSION['phoneexport']);
?>

お時間をいただきありがとうございます!

4

1 に答える 1

0

修正しました-セッション変数の一部を切り替えるだけで、正しい列に正しい値が得られました。

お時間をいただきありがとうございます!

于 2012-09-04T19:53:55.540 に答える