[salesforce]VisualforceページでWord、Excelファイルの出力
以前も紹介したように、Visualforceページを使ってPDFファイルを出力することができます。
[ salesforce ]VisualforceでPDF出力時の日本語対応
これと近い方法で、マイクロソフトワード、エクセルのファイルも出力することが可能です。
参考:How to Create Word, PDF or Excel Files with Salesforce Data
サンプルソース
[php]
<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>
[/php]
参考サイトの中盤にありますが、<apex:page>タグのContentType属性に
- ワードの場合: contentType=”application/msword”
- エクセルの場合:contentType=”application/x-excel”
と指定すると、ワード、エクセルで開いて編集ができるファイルとして出力されます。
この出力されるファイルは、テキストエディタで開くとわかりますがただのHTMLファイルです。そのファイルをワードやエクセルで開いて編集しているという状態です。
ここで注意点として、
- VisualforceページはUTF-8で出力されるので、出力されるワード、エクセルファイルもUTF-8。MSWord、ExcelはファイルをShift-JISで開こうとするので、日本語は文字化けしてしまう。そのため、日本語を含む場合は事前に別のテキストエディタなどでShift-JISに変換しておく必要がある。
ということがあります。