web-dev-qa-db-ja.com

PDFまたはEXCELでデータベースの結果をダウンロードする方法

データベース(Oracle)から詳細をフェッチするカスタムクエリがあります。結果は期待どおりに正しく生成されています。今、私はこれらの結果をPDFまたはExcelファイルのいずれかでダウンロードする必要があります。これを達成するための任意の方法

2
drup

Views PDF モジュールにより、ビューをPDFとして出力できます。

このモジュールを使用すると、ビューをPDFドキュメントとして出力できます。ビューの各フィールドは、管理インターフェースのPDFページに直接配置できます。したがって、 「PDF」という新しいディスプレイが追加されました。

カスタムクエリがあるので、 ビューのカスタムクエリ を使用して、ビューの結果を変更できます。ビューの出力は、PDF上記のモジュールを使用したものです。


[〜#〜]更新[〜#〜]

ノードを作成し、そのノードを介してデータベースの結果を取得したので、 Printer、email and PDF versions moduleを使用する必要があります

このモジュールを使用すると、任意のノードの次の印刷用バージョンを生成できます。

  • 印刷用バージョン(ウェブページ形式)(www.example.com/print/nid)
  • PDFバージョン(www.example.com/printpdf/nid)
  • EPUBバージョン(www.example.com/printepub/nid)
  • メールで送信(www.example.com/printmail/nid)

ここで、nidはレンダリングするコンテンツのノードIDです。

www.example.com/printpdf/nidノードのPDF出力を作成できます。

2
M a m a D

これらのモジュールを使用すると、それを行うことができます

views_export_xls

ビューデータをExcel(xls)にエクスポートできる単純なモジュール。 UTF8サポート付きのphp-Excelクラスを使用します。

ビュー

  • あなたはデフォルトのフロントページビューが好きですが、それを別の方法でソートしたいと思います。
  • デフォルトの分類/用語ビューは好きですが、別の方法でソートしたいと思っています。たとえば、アルファベット順。
  • / trackerを使用しているが、それを特定のタイプの投稿に制限したい。
  • 'article'モジュールのアイデアは好きですが、記事が好きなように表示されません。
  • 特定のタイプの最新の5つの投稿を含むブロックを表示する方法が必要です。
  • 「未読のフォーラム投稿」を提供したい。
  • へのリンクを次の形式で表示する典型的なMovable Type/Wordpressアーカイブに類似した月次アーカイブが必要です。
    "Month、YYYY(X)"ここで、Xはその月の投稿数であり、
    ブロックでそれらを表示します。リンクは投稿の簡単なリストにつながります
    その月。

ビューはそれ以外にも多くのことができますが、これらはビューの明らかな使用法の一部です。

views_data_export

このモジュールは、ビューから大量のデータをエクスポートする方法を提供するように設計されています。バッチで段階的にレンダリングできる表示プラグインを提供します。以下のタイプのエクスポートをサポートするスタイルプラグインが含まれています。

  • CSV
  • Microsoft XLS
  • Microsoft DOC
  • 基本TXT
  • XML。

Forena

現在のバージョンでは、DrupalのSQLを使用するか、XMLファイルに保存されたデータを使用してレポートを作成できます。

これには、レポートの作成方法を示し、既存のDrupalサイトに関する有用な情報が提供されます。

主な機能は次のとおりです。

  • Drupalデータベースからカスタムレポートを作成します。
  • PDO対応のデータベース(SQLite、MySQL、MS SQLなど)に対してカスタムレポートを作成します。
  • Oracleデータベースに対してカスタムレポートを作成します。
  • SVG形式でグラフを作成します。
  • データをCSV、Excel、またはXMLバージョンのレポートにエクスポートします。
  • シンプルなWeb UI(WYSIWYGエディターのサポートを含む)を使用してHTMLレポートを作成および編集します。
1
Adi

モジュールForena

Forena モジュール(開示:私はそれの共同メンテナです)を1-stop-solution(1つの寄付されたモジュールのみを使用)として使用すると、次のことができます。

  • カスタムクエリを作成してデータをフェッチしますが、これらのデータはOracleなどの外部データベースから直接取得できます。

  • XHTML(および/または必要に応じてチャート)を使用して、結果(レポート)のルックアンドフィールをフォーマットします。

  • PDF、XLS、CSV、XML、JSONなどの一般的な形式で結果をダウンロードします。

カスタムクエリ(SQL)および/またはレポート仕様のように見えます。質問への私の回答の例を参照してください。「 Drupalデータベース から直接データを取得する方法」。

Forena ビデオデモとチュートリアル には、ライブデモへのリンクがかなり含まれています。

ダウンロードオプション

Forena を使用して作成したレポートの場合、.csvを拡張としてレポート(出力)URLに追加します。そのレポートに相当するCSVが含まれています。

サンプルとして、/reports/sample.statesにあるサンプルレポートを検討してください(自分のサイトでは、Forenaに付属のサンプルの1つ)。 URLを/reports/sample.states.csvに変更(= .csvを追加するだけ)して、同じレポートを.csv形式で取得します。そのような.csvデモサイトの簡単な状態表 のURLに追加すると、結果は like like ...になります。

同じ手法が、次のような他のサポートされている拡張機能(エクスポート形式)にも適用されます。

さらに、レポートを作成するときに、レポートでハイパーリンクを使用可能にする Document Types を指定することもできます。

データブロックへの直接アクセス

すべての データブロック には、そのブロックにアクセスする権限がある場合、URLから直接アクセスすることもできます。以下に、/reports/sample.statesにあるサンプルレポートのサンプルをいくつか示します。

0
Pierre.Vriens
$link_download = l(t('Download Report'), 'path/to/report/export'); 

function custom_menu(){ 
  $item['path/to/report/export'] = array(
    'page callback' => 'custom_report_export', 
    'title' => 'Data Export',
    'access callback' => TRUE,
    'type' => MENU_CALLBACK, 
  ); 
  return $item;  
}


function custom_report_export() {
  $file = "report_name.xls";
  $table = callback_to_generate_theme_table_output_of_query_result();
  header("Content-type: application/vnd.ms-Excel");
  header("Content-Disposition: attachment; filename=$file");
  echo $table;
}
0
Aradhya

このモジュールを試してください。 https://www.drupal.org/project/pdf_using_mpdf

API Function : pdf_using_mpdf_api()

      This API function is available to content developers that prefer to generate a pdf file of custom path. The function takes two parameters, first a rendered html content and an optional second parameter, name of the pdf file. E.g: pdf_using_mpdf_api($html) where $html is any html content. 

このモジュールは、カスタムページのPDFを作成するためのAPIを提供します。ページャーなしでPDFを作成するには、URL .parameterを渡してページャーを条件付きにするか、ページャーなしで2つのページを作成しますPDFから

0
arpitr