Linuxで.xlsファイル形式を指定するPerlスクリプト

Linuxで.xlsファイル形式を指定するPerlスクリプト

私が持っているのはLinuxコマンドだけです(コマンドの後に何が来るのか、スクリプトまたはコマンドの出力形式が何であるかわかりません)。したがって、私ができることは、データを[表形式で、見えない列にインポートすることだけです。ライン]、Linuxから取り出し、レビューのために人々に送ります。

コマンドを実行すると、他の種類のファイル拡張子(.txt/.csv/.xls)で入力しても、結果の出力がソートされた列でコンソール画面に見栄えよくフォーマットされます。どちらもLinux端末でうまく動作します。

対応するコマンド| mail -s '統計'[Eメール保護]

上:出力を電子メールのメッセージ本文に印刷する
下:出力をファイルにリダイレクトして電子メールの添付ファイルに送信する

thatCommand > stat.xls
uuencode stat.xls table.xls \mail -s "統計"[Eメール保護]

それからこの問題にぶつかりました。最初のコマンドラインを実行した後、メッセージ本文のテーブルは次のようになりました。

学生名 ID 科目 A(%) 科目 B(%)
Aaron Frank 7892 89100
Benjamin Ayres 8892 78 90

列で並べ替える方法は次のとおりです。

Student Name       ID   SubjectA(%) SubjectB(%)
Aaron Frank       7892      89         100
Benjamin Ayres    8892      78          90

そのため、添付ファイルを使用して2番目のコマンドラインを試しました。これらのさまざまな種類のファイル拡張子を持つ添付ファイルをメールで受信したら、Windowsはそのファイルを保存して開きます。 (私のコンピュータでは、デフォルトではcsv、xlsはExcelで開き、txtはメモ帳で開きます)

出力は別の列にある必要があり
ます(エクスポート前のLinuxのテーブルでした)、すべてのデータは最初の列にあるため、Excelアプリケーションでは乱雑に見えます。 [メモ帳でも汚れて見えます。]

下の画像は私の最終目標であり、異なる列のデータ値(よく整列)

どんな姿でなければならないのか、私が期待する姿はどんな姿でなければならないのか

今のように、データは列Aにのみあります。 今はどう見える?

Perlスクリプトは役に立ちますか?添付ファイルを受け取ると正しい形式の出力が得られますか? Linuxでは、Excelファイルの末尾にいくつかの情報を追加する必要があるため、気にしません。 (まだ何をすべきかわかりません。)今、最大の関心事はフォーマット方法です。 :)

これは協会今後どのような措置を講じるか尋ねてください。

答え1

まず、Perl自体が電子メールを送信できます。ここの例をご覧ください。、より簡単でエラーが発生しやすいです。

とにかくあなたの場合は、HTML Eメール本文が機能するはずです。

<table>
  <tbody>
    <tr>
      <td>Adam</td>
      <td>50</td>
    </tr>
  </tbody>
</table>

HTMLメールを送信するにはヘッダーを設定する必要がありますcontent-typeここの例をご覧ください。

関連情報