フィードバックのexcelエクスポートのカスタマイズについて

フィードバックのexcelエクスポートのカスタマイズについて

- odawara takashi の投稿
返信数: 2

フィードバックの分析にて、「Excelにエクスポートする」ボタンでダウンロードします。
ダウンロードしたファイルの、シート名「detailed」に以下の項目を追加したいのですが、
ご教授お願いいたします。

(追加する項目)
・department(所属名)
・完了日
・ステータス(完了、未完了)
・メールアドレス

moodle 2.5.1

odawara takashi への返信

Re: フィードバックのexcelエクスポートのカスタマイズについて

- Mitsuhiro Yoshida の投稿
画像 Developers 画像 Particularly helpful Moodlers 画像 Translators
よろしければ下記プログラム修正をテスト環境でお試しください。
----------------------------------------------------------------------

修正対象プログラム:
mod/feedback/analysis_to_excel.php

修正箇所:
77行目

[ 修正前 ]
$fstring->anonymous_user = get_string('anonymous_user', 'feedback');
ob_end_clean();

[ 修正後 ]
$fstring->anonymous_user = get_string('anonymous_user', 'feedback');
$fstring->email = get_string('email');
$fstring->department = get_string('department');
$fstring->lastmodified = get_string('lastmodified');

ob_end_clean();

-----------------------------------------------------

修正箇所:
230行目

[ 修正前 ]
    $worksheet->write_string($row_offset + 1, $col_offset, $fstring->fullname, $xls_formats->head2);
    $col_offset++;

    foreach ($items as $item) {

[ 修正後 ]
    $worksheet->write_string($row_offset + 1, $col_offset, $fstring->fullname, $xls_formats->head2);
    $col_offset++;

    $worksheet->write_string($row_offset + 1, $col_offset, $fstring->department, $xls_formats->head2);
    $col_offset++;

    $worksheet->write_string($row_offset + 1, $col_offset, $fstring->email, $xls_formats->head2);
    $col_offset++;

    $worksheet->write_string($row_offset + 1, $col_offset, $fstring->lastmodified, $xls_formats->head2);
    $col_offset++;

    foreach ($items as $item) {

-----------------------------------------------------

修正箇所:
282行目

[ 修正前 ]
    $worksheet->write_string($row_offset, $col_offset, $userfullname, $xls_formats->head2);

    $col_offset++;
    foreach ($items as $item) {

[ 修正後 ]
    $worksheet->write_string($row_offset, $col_offset, $userfullname, $xls_formats->head2);

    $col_offset++;
    $worksheet->write_string($row_offset, $col_offset, $user->department, $xls_formats->head2);

    $col_offset++;
    $worksheet->write_string($row_offset, $col_offset, $user->email, $xls_formats->head2);

    $params = array('feedback' => $feedback->id, 'userid' => $user->id);
    $feedback_completed = $DB->get_record('feedback_completed', $params);

    $col_offset++;
    $worksheet->write_string($row_offset, $col_offset, userdate($feedback_completed->timemodified), $xls_formats->head2);

    $col_offset++;
    foreach ($items as $item) {

----------------------------------------------------------------------

今回のカスタマイズにはご希望の「ステータス(完了、未完了)」は含んでおりません。

フィードバック用テーブル「mdl_feedback_completed」にフィードバック未回答のユーザ情報が含まれていませんため、エクスポートファイルに「ステータス(完了、未完了)」を含むためにはコースに登録されているユーザを中心にしてフィードバックステータス等の情報を取得するような新たな難度の高い開発が必要になるかと思います。

Mitsuhiro Yoshida への返信

Re: フィードバックのexcelエクスポートのカスタマイズについて

- odawara takashi の投稿

早速のご教授ありがとうございます。

テスト環境でやった結果、希望通りに行うことができました。

なかなか、難しいですね。

ありがとうございました。