0

レポートをExcelに出力する従来のASPWebアプリがありますが、実際にはhtmlです。

一部のレポートは複数のグループで出力され、各グループは複数のページにまたがることができます(垂直方向)。すべてのページに指定された行を印刷するExcelの「ページタイトル」機能を知っていますが、各グループのタイトルもタイトルに表示する必要があります。それ以外の場合、最初のグループのタイトルがすべてのグループのタイトルとして表示されます。

Googleグループで、誰かが各グループを別々のワークシートに配置することを提案しているのを見ましたが、htmlだけを使用して複数のワークシートを簡単に(またはまったく)出力できないと思います。

このくだらない古いアプリの保守に専念する時間があまりないので、私は迅速で汚い解決策を探しています。

4

1 に答える 1

1

これは答えが出るのに少し遅れていますが、解決策を見つけたと思います。できることは、Excel を開いて、必要なものを手動でモックアップし、それを Web ページとして保存することです。生成されたファイルを単純なテキスト エディターで開き、生成された HTML/XML を調べます。複数のワークシートを含むワークブックに対してこれを行いましたが、うまくいくようです。

複数のグループで同じことを行うことができます。それが本当に必要なソリューションのように思われるためです。プロセスは同じです。ただし、複数のワークシート オプションも同様に機能します。最初のページに「abc」、2 番目のページに「def」を指定して単純な 2 シートのワークブックを保存したときに、Excel が (Sheet ファイルではなく Book.htm から) 生成した興味深い部分を次に示します。

<script language="JavaScript">
 var c_lTabs=2;

 var c_rgszSh=new Array(c_lTabs);
 c_rgszSh[0] = "Sheet1";
 c_rgszSh[1] = "Sheet2";

------

<xml>
 <x:ExcelWorkbook>
  <x:ExcelWorksheets>
   <x:ExcelWorksheet>
    <x:Name>Sheet1</x:Name>
    <x:WorksheetSource HRef="Book1_files/sheet001.htm"/>
   </x:ExcelWorksheet>
   <x:ExcelWorksheet>
    <x:Name>Sheet2</x:Name>
    <x:WorksheetSource HRef="Book1_files/sheet002.htm"/>
   </x:ExcelWorksheet>
  </x:ExcelWorksheets>
  <x:Stylesheet HRef="Book1_files/stylesheet.css"/>
  <x:WindowHeight>13065</x:WindowHeight>
  <x:WindowWidth>15315</x:WindowWidth>
  <x:WindowTopX>360</x:WindowTopX>
  <x:WindowTopY>75</x:WindowTopY>
  <x:ProtectStructure>False</x:ProtectStructure>
  <x:ProtectWindows>False</x:ProtectWindows>
 </x:ExcelWorkbook>
</xml><![endif]-->
</head>
于 2009-07-05T21:33:33.853 に答える