0

我有一个经典的 ASP Web 应用程序,可以将报告输出到 Excel,但它实际上只是 html。

一些报告输出有多个组,每个组可以跨越多个页面(垂直)。我知道 Excel 的“页面标题”功能可以在每个页面上打印指定的行(或行),但是,我需要每个组的标题也显示在标题中。否则,第一组的标题将显示为每个组的标题。

我在谷歌群组上看到有人建议将每个群组放在单独的工作表上,但我认为我不能轻松地输出多个工作表 - 或者根本不能 - 单独使用 html。

我正在寻找一个快速而肮脏的解决方案,因为我没有太多时间来维护这个糟糕的旧应用程序。

4

1 回答 1

1

答案有点晚了,但我想我已经找到了解决方案。您可以做的是打开 Excel,手动模拟您想要的内容,然后将其保存为网页。在简单的文本编辑器中打开生成的文件并检查生成的 HTML/XML。我为具有多个工作表的工作簿执行此操作,它似乎有效。

您可以对多个组执行相同的操作,因为这似乎是您真正想要的解决方案,过程是相同的。但是多个工作表选项也可以使用。以下是当我保存一个简单的 2 表工作簿时 Excel 为我生成的有趣部分(来自 Book.htm,而不是工作表文件),第一页为“abc”,第二页为“def”:

<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 回答