[salesforce]VisualforceページでWord、Excelファイルの出力

By |2月 26, 2010|salesforce, |


以前も紹介したように、Visualforceページを使ってPDFファイルを出力することができます。

[ salesforce ]VisualforceでPDF出力時の日本語対応

これと近い方法で、マイクロソフトワード、エクセルのファイルも出力することが可能です。

参考:How to Create Word, PDF or Excel Files with Salesforce Data

サンプルソース

<apex:page showHeader="false" contentType="application/msword">
<head>
<style type="text/css">
@page
{

/* Landscape orientation */
size:landscape;

/* Put page numbers in the bottom right corner of each
page in the pdf document. */
@bottom-right {
content: "Page " counter(page);
}
}

body {
font-family: Arial Unicode MS;
font-size:9pt;
}

td {
font-size:11pt;
font-family:Tahoma;
}

</head>
<body>
</body>
</apex:page>

参考サイトの中盤にありますが、<apex:page>タグのContentType属性に

  • ワードの場合: contentType=”application/msword”
  • エクセルの場合:contentType=”application/x-excel”

と指定すると、ワード、エクセルで開いて編集ができるファイルとして出力されます。

この出力されるファイルは、テキストエディタで開くとわかりますがただのHTMLファイルです。そのファイルをワードやエクセルで開いて編集しているという状態です。

ここで注意点として、

  • VisualforceページはUTF-8で出力されるので、出力されるワード、エクセルファイルもUTF-8。MSWord、ExcelはファイルをShift-JISで開こうとするので、日本語は文字化けしてしまう。そのため、日本語を含む場合は事前に別のテキストエディタなどでShift-JISに変換しておく必要がある。

ということがあります。