Excel 変換

Office Server Document Converter V8.0 では、 Microsoft Excel 97 から Microsoft Excel 2019 までで作成されたブックファイルを PDF, SVG に変換できます。JPEG, PNG, TIFF, マルチページTIFF に変換することもできます。Excel で指定したチャートも一部を除いて変換できます。

変換仕様

対応する Excelドキュメント

Office Server Document Converter V8.0 では、 下記の Microsoft Excel で作成されたファイルに対応しています。

  • 下記で作成されたブックファイル(拡張子:.xls / .xlt )
    Microsoft Excel 97 for Windows
    Microsoft Excel 2000
    Microsoft Excel 2002
    Microsoft Excel 2003
    Microsoft Office Excel 2007
    Microsoft Office Excel 2010
    Microsoft Office Excel 2013
    Microsoft Office Excel 2016
    Microsoft Office Excel 2019
  • 下記で作成されたブックファイル(拡張子:.xlsx / .xlsm / .xltx / .xltm )
    Microsoft Office Excel 2007 / 2010 / 2013 / 2016 / 2019

Excel の変換仕様

  • 最初のシートから順に最後のシートまでを対象として、シートごとに「ページ設定」で指定されている用紙のサイズと拡大縮小率でページアップします。
  • データがなにもないシートは無視します。
  • シートの右下のセルのみにデータが入っているときは、そこまで空白ページができます。
  • シートに対して「印刷範囲の設定」が有効になっている場合は、印刷範囲内のみを対象にページアップします。
  • セルの書式、行の高さ、列の幅などはできるだけ Excel の印刷イメージを真似ています。但し、完全に同等にはならないことがあります。
  • Excel のグラフは3次元グラフの一部を除いて Excel を真似たグラフを作成します。
  • ラスタ画像はそのまま配置します。
  • オートシェープは大部分を真似て処理しますが、シェープの一部は異なる形状になったり無視されるものがあります。

Excel の列幅と行高の調整機能

xls-rowcol-control機能

-セルの列幅と行高さのユーザによる調整機能-

プログラム外部からセルの列幅とセルの高さを調整するための機能です。 拡大縮小率を指定することで、1ページに含めるセルの範囲を調整することができます。

Excelファイルに保存されている「キーとなる情報」 と 「キーに対応する調整値」を指定することで、ユーザ側でファイルに応じた調整を行えます。複数の設定をパラメータセットとしてファイルに記述して読み込むこともできます。キーを無視して一括して調整することもできます。

キーとなる情報は、Excelファイルに保存されている「デフォルトフォント」と「プリンタ名」です。 「デフォルトフォント」とは、新規のExcelシートを作成した場合に、セルに設定されているフォントで、行列見出しやセルの列幅を計算する元にもなっているフォントのことです。「デフォルトフォント」は、フォント名とフォントサイズの組からなります。「デフォルトフォント」はExcelのワークブック(ファイル)に対して、ひとつ指定されます。「プリンタ名」とは、印刷に使用したプリンタ名で、ワークブック内の各シートごとに指定されています。

デフォルトフォントもプリンタ名も、それぞれExcelファイル内に保存されているものが対象となります。プリンタ名は保存されていない場合もあるので注意が必要です。保存されていない場合でも、確認のためにファイルをExcelで開き、印刷関連のメニューを開いたときにはプリンタ名は表示されますが、これはファイルに保存されているプリンタ名が表示されているわけではありません。現在システムに設定されているものが表示されている場合が多いので注意が必要です。

デフォルトフォントの違いによって、列幅などのサイズは変動します。 印刷先のプリンタを変更することで異なってしまうこともあったので、追加のキーとして採用していますが、それほど例は多くないので、プリンタ名を利用する場面は、それほど多くないと思われます。キーに対して縦横の拡大縮小割合を指定することで、ページに含まれるセルを調整します。 また、読込時にデフォルトフォントとプリンタ名を情報として戻す機能を用意しました。 エラーメッセージと同様の形式で情報が得られますので、キーを指定する場合にこれを参照してください。

パラメータセットファイル

以下のような記述を納めたファイルを用意して、プログラムに渡すことで、指定したキーを含むファイルを変換するときに、行の高さと列の幅を指定した調整値で調整できます。

<xls-rowcol-controls>
<xls-rowcol-control>
<xls-key>
<printer-name>プリンタ名</printer-name>
<font name="フォント名" size="フォントサイズ"/>
</xls-key>
<xls-key> ... </xls-key>
:
<xls-parameter row="行高調整値" col="列幅調整値"/>
</xls-rowcol-control>
</xls-rowcol-controls>

 DTDは以下

<!ELEMENT xls-rowcol-controls (xls-rowcol-control*)>

<!ELEMENT xls-rowcol-control (xls-key*,
xls-parameter? ) >

<!ELEMENT xls-key (printer-name?,
font? ) >

<!ELEMENT printer-name (#PCDATA) >

<!ELEMENT font EMPTY >
<!ATTLIST font name CDATA #IMPLIED
size CDATA #IMPLIED >

<!ELEMENT xls-parameter EMPTY >
<!ATTLIST xls-parameter row CDATA #IMPLIED
col CDATA #IMPLIED >

パラメータの概要

  • xls-rowcol-control:調整値の1セット。ファイル内に複数記述可。記述順に検証されます。
  • xls-key:ファイル内に記述されている対象の要素(レコード)を決定するためのキーを指定します。
    • xls-rowcol-control内に複数記述可。記述順に検証されます。
    • ファイル内に記述されている対象の要素(レコード)と比較して合致すれば調整値を採用します。
  • printer-name:プリンタ名(ワイルドカード指定可能)。ファイル内のプリンタ情報にあるプリンタ名と比較されます。
    • 例: "EPSON LP-S310" (機種名を含めた記述)、"EPSON *" (EPSONのプリンタ全般)
  • font:フォント情報。ファイル内のデフォルトフォント情報と比較されます。
    • name:フォント名(ワイルドカード指定可能)。デフォルトフォントの名前と比較されます。
           例: "IPA*" (IPAで始まるフォント)、"MS Pゴシック"
    • size:フォントサイズ(',' による列挙、'-' による範囲指定が可能)。デフォルトフォントのサイズ(ポイント単位)と比較されます。
           例:8 (8pt)、10-15 (10ptから15ptまで)、8,10 (8ptと10pt)、-10 (10pt以下)、20- (20pt以上)、8, 14- (8ptと14pt以上)
  • xls-parameter:調整値セット。xls-rowcol-control内にひとつだけ記述します。
    • row:行高調整値:%指定で拡大縮小率を指定します(90%)
    • col:列幅調整値:%指定で拡大縮小率を指定します(120%)

詳細と注意事項

  • ひとつの xls-rowcol-control に xls-key は複数指定可能で、ひとつでも合致すれば採用されます。
  • xls-rowcol-control は先頭から順次検索、合致するセットを見つけた段階で検索終了します。
    • 見つからなかった場合(xls-row-controlが無かった場合も含む)は、ユーザによる調整を行わずに処理を行います。
    • xlsinfoviewオプションを指定していた場合は、合致するセットがないとしてメッセージを表示します。
  • xls-key で指定が省略されているキーは検索時に条件が合致しているとみなされます。
    • キーをひとつも指定していない場合、そのキーはすべてのファイルに対して条件が満たされたことになり、続くパラメータの指定が有効となります。そのようなキーを最初に記述すると、それより後の指定を検討することはなくなりますので、注意してください。
  • xls-parameter で指定が省略されている項目は100%が指定されたものとします。
    • 項目をひとつも指定していない場合、パラメータ値は省略時の値(100%)が指定されたことになるのでユーザの調整は行われないことになります。
    • row, colの最小・最大値:50%-150%
    • 指定は"90%"と単位を指定し、82.5%などの小数点も指定可能、2桁までとします。
  • font で、指定がない項目は条件が合致したものとします。
    • 両方の指定がない場合、すべてのフォントと合致することになります
    • フォント名最大長 :Officeの仕様に準じます。31文字まで。
    • サイズの最小・最大値:Officeの仕様に準じます。1-409。

記述の一例

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xls-rowcol-controls SYSTEM "xls-rowcol-controls.dtd">
<xls-rowcol-controls>
<xls-rowcol-control>
<xls-key> <font size="10"/> </xls-key>
<xls-key> <font size="8-9" name="MS Gothic"/> </xls-key>
<xls-parameter col="95%" row="82.5%"/>
</xls-rowcol-control>
<xls-rowcol-control>
<xls-parameter col="90%"/>
</xls-rowcol-control>
</xls-rowcol-controls>

Excel の用紙設定機能

xls-paper-setting機能

-セルの用紙設定機能-

プログラム外部から用紙を設定する機能です。用紙サイズや印刷の向きなどを指定することで、ファイルの設定とは異なる設定で出力できます。

Excelファイルに用紙設定が保存されていないときのデフォルト値を指定することと、Excelファイルに保存されている用紙設定を無視して指定した値を使用することができます。

指定できるパラメータは、用紙、用紙方向、上下左右マージン、拡大縮小率です。

値は、以下の優先順位で最初に見つかったものを採用します。指定はパラメータごとに独立しています。

優先順位:ユーザ指定値(xlsPaper)>ファイルに保存された指定値>ユーザ指定デフォルト値(xlsPaperDefault)>プログラム内蔵デフォルト値

パラメータ

パラメータは、文字列で指定します。文字列はカンマ区切りで、各要素を指定します。要素ごとに付随する値が必要なものはコロン区切りで並べます。

パラメータは、先頭から順次解釈されます。重複する要素の指定がある場合は、最後に指定されたものが有効となります。

パラメータの概要

  • 用紙サイズ:用紙サイズを指定します。
    • A3, A4, A5, B3, B4, B5, Letter, Legal, custom:SIZEWIDTH:SIZEHEIGHT が指定できます。
    • customは、縦横のサイズ(SIZEWIDTH,SAIZEHEIGHT)を任意に指定するものです。
    • 単位は数字に続けてmmかinchを付加します。単位を省略した場合はmmと解釈します。必ず縦横共に指定する必要があり、不足した場合はエラーとなります。
    • デフォルトは A4 です。
  • 用紙方向:用紙の向きを指定します。
    • 横 または 縦を landscape,portrait で指定します。
    • graph:,sheet:を前置することで、グラフシートとワークシートを別々に指定することができます。
    • graph:,sheet:が付加されていない場合は、両方のシートに対して指定が有効になります。
    • デフォルトは、ワークシートは縦、グラフシートは横です。
    • 用紙サイズとしてcustomが指定されている場合、この指定は有効になりません。
  • 拡大縮小:拡大縮小率を指定します。
    • %指定 または 縦横のページ数を指定します。
    • %指定は、数値に続けて%を付加します。 例:100%, 50%, 200%
    • 縦横のページ数指定の場合、指定したページ数に納まるように全体を拡大縮小します。
    • ページ数指定は、page:HORIZONTAL:VERTICALで指定します。横方向と縦方向のページ数を指定します。片方を0に指定した場合、0でない側を基準に拡大縮小値が決定されます。
    • デフォルトは、100% です。
  • 余白(マージン):用紙の上下左右の余白を指定します。
    • marginは、左上右下の余白サイズ(MARGINLEFT,MARGINTOP,MARGINRIGHT,MARGINBOTTOM)を任意に指定します。
    • 単位は数字に続けてmmかinchを付加します。単位を省略した場合はmmと解釈します。必ず四つの数字をすべて指定する必要があります。不足した場合エラーとなります。
    • デフォルトは、margin:20mm:25mm:20mm:25mm です。

記述の一例

-xlspaper A4,graph:landscape,100%

用紙サイズはA4、グラフシートは横書き、拡大縮小100%で出力する。マージンはファイルに指定されたものを使用する。

-xlspaperdefault custom:1000mm:1200mm,page:2:1,margin:10mm:10mm:15mm:15mm

用紙サイズは横1000mm、縦1200mm、マージンは左と上が10mm、右と下が15mm、横2ページ縦1ページに納まるように拡大縮小する。
デフォルト値の指定なので、xlspaperオプションが同時に使用されていたり、ファイルに指定が保存されている場合は採用されない。

制限事項

MS-Excel ドキュメントからの変換における主な制限事項は下記のとおりです。

  • 変換結果は印刷レイアウト形式です。
  • 3次元チャートの一部は変換できません。
  • ヘッダ、フッタに挿入された画像は無視します。
  • ワードアートの文字の変形は再現できないものがあります。
  • オブジェクトの影、テキストの影、3Dエフェクトには対応していません。
  • 行の高さおよび列の幅を正しく設定できない場合があります。
  • テキストボックス内のマージンは、正しく再現できないことがあります。
  • 動画や音声などマルチメディアオブジェクトは無視します。
  • グラデーションや半透明の色はExcelによる表示と異なる場合があります。
  • MS Officeでは、文字に指定されたフォントがその文字コードに対応するグリフを持っていないとき、適当な別のフォントを割り当てて表示することがありますが、これと同様のフォント割り当てはできません。
  • MS Office 95 以前のバージョンで作成され WMF / EMF が貼り付けられたドキュメントを MS Office 97 以降の バージョンで保存し直したものに含まれる WMF / EMF は、変換できないことがあります。
  • OLEの埋め込みオブジェクトやリンクオブジェクトは表示できません (文書内に表示用の情報が埋め込まれていれば表示できることもあります)。
  • OfficeのShapeの一種であるVMLと呼ばれるShapeは変換できないことがあります。他のOfficeファイルから貼りつけられたシェイプがVMLの場合もこれに該当します。(文書内に表示用の情報が埋め込まれていれば変換できることもあります)。
  • Table/Pivotで設定した属性は無視されます。
  • 条件書式で設定される属性は無視されます。
  • セルの書式設定-表示形式-分類 の日付と時刻において、種類としてアスタリスク(*)で始まる形式は、オペレーティングシステムで指定するものと連動しません。ファイルに保存されている表示形式文字列で出力されます。
  • セルの書式設定-配置 の「横位置」で「均等割付」「両端揃え」の一部に対応していません。
  • セルの書式設定-配置 の「縦位置」で「均等割付」「両端揃え」の一部に対応していません。
  • セルの書式設定-配置 の「インデント」の一部に対応していません。
  • 「ふりがな」には対応していません。
  • 「コメント」には対応していません。
  • 「ハイパーリンク」には対応していません。
  • 「セルのエラー」は、そのまま出力されます。
  • 「改行(CRLF)のない数万文字といった長い文字列があると変換できないことがあります。
  • 「テキスト効果の設定」および「図形の書式設定」について
    • Office2007/2010/2013/2016/2019(Word,Excel,Powerpoint)の「塗りつぶし(グラデーション)」の「種類 = パス」は、「種類 = 四角」を指定した場合と同様の変換結果となります。
    • Office2007/2010/2013/2016/2019(Word,Excel,Powerpoint)の「塗りつぶし(グラデーション)」の「透過性」は無視され、「透過性 = 0%」を指定した場合と同様の変換結果となります。
    • Office2007/2010/2013/2016/2019(Word,Excel,Powerpoint)の「塗りつぶし(グラデーション)」の「図に合わせて回転する」は無視され、チェックされていない場合と同様の変換結果となります。
    • Office2007/2010/2013/2016/2019(Word,Excel,Powerpoint)の「塗りつぶし(図またはテクスチャ)」の「並べ表示オプション」の設定はすべて無視され、「幅の調整 = 100%」「高さの調整 = 100%」で変換されます。
    • 「塗りつぶし(図またはテクスチャ)」で、図形の塗りつぶしに図が指定されたとき、図形の形状が長方形に置き換えられます。
    • 「塗りつぶし(スライドの背景)」の指定は無視され、塗りつぶしされません。
    • 「3D書式」「3D回転」には対応していません。指定がまったくされていないものとして変換します。
    • テキストボックスの自動調整は、文字サイズなどが正確に再現できないことがあります。
    • 文字の塗りつぶしの「グラデーション」「図またはテクスチャ」は無視されます。
    • 文字の輪郭についての指定はすべて無視されます。
  • 数式はサイズや属性等が正しく変換できない場合があります。
  • 「スマートアート」は、図形や文字の配置および属性が正しく変換できない場合があります。
  • Office2007-2019で追加された図形と属性(線の先端形状など)は、正しく変換できない場合があります。
  • 図に回転やクリッピングが設定されている場合、フリップ(左右や上下の反転)が無視されます。
  • 図形の背景に図が設定されている場合、図形に回転が指定されていても図は回転しません。
  • 図に設定された透明色は無視します。
  • Office2007/2010/2013/2016/2019のワードアートの変形の形状はOffice2007/2010/2013/2016/2019と同じにはなりません。
  • 図形に図が貼り付けられているとき、図形に変形や回転などが指定されていても、貼り付けられた図には適用されずそのまま出力されます。
  • 図形の背景として塗りつぶしと図が同時に指定されている場合は、図のみが有効となります。
  • ActiveXコントロールは表示できません(文書内に表示用の情報が埋め込まれていれば表示できることもあります)。
  • Office2019で追加された「描画」-「ペン」は、代替イメージを出力します。線色、線の太さなどがOfficeの表示と異なる場合があります。
  • チェックボックスの枠線と塗り潰しには対応していません。
  • チェックボックスの3D表示には対応していません。指定されていなものとして出力します。
  • スパークラインは出力しません。
  • スライサーは出力しません。
  • 吹き出しなど図形の矩形からはみ出して描画される部分は、ページをまたいだ先への出力はされません。図形の矩形がまたいでいる場合は、両方のページに出力されます。
  • Microsoft Office 2016等のサブスクリプションで追加された機能は現在対応しておりません。

MS-Excel チャートからの変換における主な制限事項は下記のとおりです。

  • Excel 2016やOffice 365で追加された新しいグラフ(ツリーマップ図、サンバースト図、ヒストグラム図、箱ひげ図、ウォーターフォール図、じょうごグラフ)には未対応です。
  • 等高線グラフは正しく表示されません。
  • 表示されるグラフ(特に3Dグラフ)のサイズ、位置、縦横比、角度等がExcelの表示と若干異なる場合があります。
  • データテーブルの表示には対応していません。
  • 軸目盛の表示単位には対応していません。
  • 値以外のデータラベルは表示できません。またバブルチャートにおける複数の値データラベル表示には対応していません。
  • データラベルの凡例マーカー表示には対応していません。
  • グラデーション、テクスチャなどの複雑な塗りつぶし効果には対応していません。
  • 画像を貼り付けるときに、様々な効果を施した場合、その効果は無視され元の配色にて出力されます。
  • 軸ラベルの縦書きには対応していません。
  • 階層項目ラベルは正しく表示されない場合があります。
  • 軸目盛の最小値/最大値、目盛間隔などがExcelと異なる場合があります。
  • 複合チャートは凡例アイテムが正しい順番で表示されない場合があります。
  • 誤差範囲のカスタム指定(セル範囲による指定)には対応していません。
  • データラベルの表示位置がExcelと異なる場合があります。
  • 線スタイルの下方3パターンには対応していません。
  • 軸ラベルフォントの「上付き」「下付き」には対応していません。
  • グラフエリアの「角を丸くする」には対応していません。
  • 近似曲線の数式表示には対応していません。
  • 軸とグラフが重なると、グラフが上になり軸が見えなくなる場合があります。
  • 近似曲線の表示がExcelと異なる場合があります。
  • 時系列軸で表示形式が無指定の場合、Excelの表示形式と異なる表示形式になる場合があります。
  • 項目軸のデータが日付でも明示的に時系列軸を指定しない場合、時系列軸になりません。
  • グラフエリアの「角を丸くする」には対応していません。
  • マップグラフには対応していません。