1

PHP ページから Word 文書にデータをエクスポートしましたが、ヘッダーがすべてのページで使用できるわけではありません。

ヘッダーは最初のページに存在しますが、Word 文書の他のページには存在しません。

ここに私のコードがあります、

function changeDetails()
{
    $bType = $this->input->post('textvalue');
    if ($bType == "word")
    {
        $this->load->library('table');
        $data['countrytoword'] = $this->AddEditmodel1->export();
        $this->table->set_heading('Name','Country','State','Town');
        $out =  $this->table->generate($data['countrytoword']); 
        header("Content-Type: application/vnd.ms-word");
        header("Expires: 0");
        header("Cache-Control:  must-revalidate, post-check=0, pre-check=0");
        header("Content-disposition: attachment; filename=$cur_date.doc");
        echo '<br><br>';
        echo '<strong>CountryList</strong><br><br>';
        print_r($out);
    }
}
<? if(isset($countrytoword)) { ?>
  <table align="center" border="0">
    <tr>
      <td>Name</td>
      <td>Country</td>
      <td>State</td>
      <td>Town</td>
    </tr>
    <? foreach($countrytoword as $dsasffd) { ?>
      <tr>
        <td><?= $dsasffd['dbName'] ?></td>
        <td><?= $dsasffd['dbCountry']; ?></td>
        <td><?= $dsasffd['dbState']; ?></td>
        <td><?= $dsasffd['dbTown']; ?></td>
  <? } } ?>
    </tr>
  </table>
4

3 に答える 3

1

聞き手についてはわかりませんが、このurはどのようなループを使用していますか

<? foreach($countrytoword as $dsasffd) { ?>
      <tr>
        <td><?= $dsasffd['dbName'] ?></td>
        <td><?= $dsasffd['dbCountry']; ?></td>
        <td><?= $dsasffd['dbState']; ?></td>
        <td><?= $dsasffd['dbTown']; ?></td>
  <? } } ?>

TRタグはどこにも閉じていません(最後のタグを除く)。

于 2010-04-06T06:27:10.087 に答える
1

ヘッダー行を<thead>要素でマークすると、必要なものが得られるはずです。したがって、このコードは次のようになります

 <table align="center" border="0"> 
 <thead>
 <tr> 
  <td> 
   Name 
  </td> 
  <td> 
   Country 
  </td> 
  <td> 
   State 
  </td> 
  <td> 
   Town 
  </td> 

 </tr> 
 </thead>
于 2010-04-01T15:36:51.357 に答える
0

Microsoft Word を選ぶ理由

さて、2つの解決策:

  1. ファイルに正しい名前を付け、MIME タイプを正しく設定すると、デスクトップから[ファイル] → [開く] ダイアログを使用する場合と同じように、MS Word で HTML ファイルを開くことができる場合があります。

  2. もう 1 つのオプションは、LaTEX を生成し、latex2rtf を使用して RTF を作成することです。HTML から RTF へのコンバーターもあり、RTF は簡単に作成できますが、LaTEX は RTF よりも簡単に作成でき、品質は HTML から RTF よりも優れているようです。
    システム コールを使用してアプリケーションを実行し、データが機密性の高い場合は UUID を使用してファイルに名前を付けてからリダイレクトします。Web サーバーはすでに RTF の処理方法を認識している必要があるため、ヘッダーを作成する必要さえありません。

于 2010-04-07T15:09:48.337 に答える