システム開発ブログ/ ソフトウエア開発部 Yahoo!ブックマークに登録 Google ブックマーク はてなブックマーク Livedoorクリップ シェア

システム開発ブログ

Twitterでilovex_officialをフォローしてください

最近の記事

カテゴリー

部署

月別アーカイブ

以前の部署別ブログ

HTMLでExcelファイルを作成する場合のページ設定

松本
松本 (2009年10月30日 20:39)
ソフトウエア開発部

以前、ExcelをHTML形式で書き出して、ダウンロードするという処理を実装しました。

Excelは、[ファイル]から、[Webページとして保存]すると、
HTML形式で保存してくれる機能があるので、
まずは サンプルのExcelファイルをHTMLとして保存し、それを元に実装しました。

※※Excelのバージョンは、Microsoft Office Excel 2003を使用しています。

セルやデータ等については、TableタグやCSS等で記述すれば問題ありませんが、
Excel用のページ設定は、CSSだけでは設定できず、XMLも使用します。

○ヘッダー、フッターの設定
  ヘッダーとフッターは、CSSの中で設定ができます。
  
  @page
    {
       mso-header-data:&L&F&R&D;     ←ヘッダー(Book名、システム日付)
       mso-footer-data:"&C&P\/&N";     ←フッター(ページ数/総ページ数)
       margin:.98in .79in .98in .79in;
       mso-header-margin:.51in;
       mso-footer-margin:.51in;
    }

○その他のページ設定
  ページサイズ、ページの印刷設定等は、CSSのスタイル設定の後に書き出される
  XMLの部分で設定することができます。
  
  ※ HTML化サンプルから抜粋
  
  <!--[if gte mso 9]><xml>
   <x:ExcelWorkbook>
    <x:ExcelWorksheets>
     <x:ExcelWorksheet>
      <x:Name>東京都千代田区</x:Name>          ←シート名
      <x:WorksheetOptions>
       <x:DefaultRowHeight>270</x:DefaultRowHeight>
       <x:Print>
        <x:ValidPrinterInfo/>
        <x:PaperSizeIndex>8</x:PaperSizeIndex>      ←用紙サイズ(*1)
        <x:Scale>95</x:Scale>
        <x:VerticalResolution>0</x:VerticalResolution>
       </x:Print>
       ----- 省略 -----
      </x:WorksheetOptions>
     </x:ExcelWorksheet>
    </x:ExcelWorksheets>
       ----- 省略 -----
   </x:ExcelWorkbook>
   <x:ExcelName>
   <x:ExcelName>                      ←シート印刷行タイトル設定開始(*2)
    <x:Name>Print_Titles</x:Name>
    <x:SheetIndex>1</x:SheetIndex>
    <x:Formula>=東京都千代田区!$1:$1</x:Formula>
   </x:ExcelName>                     ←シート印刷行タイトル設定終了
  </xml><![endif]-->

  *1:<x:PaperSizeIndex>で用紙サイズを設定しますが、[8]はA3用紙です。
    [9]を設定すると、A4用紙です。
  
  *2:シートの印刷行タイトルは、印刷時にページが複数枚に渡った場合、
    固定で出力したいセル(表のヘッダー等)を設定する部分です。

ExcelファイルをHTMLとして保存すれば、このXMLが書き出されるので、
設定する値が知りたい場合は、該当の設定をしたExcelファイルを、
HTMLとして保存すれば、確認することができます。

実際は書き出すHTMLがかなり多く、力技にはなりますが、
簡単なExcelファイルを作成したい場合の方法の一つとして、
選択肢に入れてみてはいかがでしょうか。

「システム開発ブログ」へのコメントやご意見等ありましたら、 ファンページまでお願いします。  Facebook のファンページ

お問い合せ・情報はこちらの電話番号におかけください:03-3232-2525 お問合せ・資料請求はこちらをクリックしてください
ページのトップ
システム開発・一括受託開発。見積依頼受付中

システム開発専用サイト

システム開発の流れ・手順、実績など。アイロベックスのシステム開発を紹介。

VB .NETを主言語としたWebアプリケーションの開発

要件分析から保守まで、お客様の現場での問題解決だけでなく、IT経営の援護者としてトータルソリューションサービスを提供しています。

MovableType を使ったウェブサイト構築

魅力あるウェブサイトデザイン、構成はもとよりMovableTypeを使用したウェブサイトの作成、JAVA、CGIによる注文フォームの作成等、ビジネスを強力にサポートします。

フォルダーアクセス権限確認ツール『AD-Folder』

Windowsフォルダーアクセス権限確認ツール

フォルダーアクセス権限を一目で確認。使用版を無償でご利用いただけます。

スクール運営を応援する講座情報管理システム『CMS+AD for School』

Webとリアルをつなぐコンテンツマネージメントシステム

Webサイト・モバイルサイト・チラシ(PDF)・カタログ(InDesign)を、簡単かつ正確に作成できます。

「システム開発ブログ」の更新情報をTwitterで。

Twitter公式アカウントに認定されています

「システム開発ブログ」の更新情報をTwitterで。ぜひ、フォローをお願いします。