使用Excel的“打印标题”时,如何在工作表中间更改标题

时间:2009-05-15 17:38:30

标签: asp-classic printing export-to-excel

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

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

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

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

1 个答案:

答案 0 :(得分:1)

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

您可以对多个组执行相同操作,因为这似乎是您真正想要的解决方案,过程是相同的。但是多个工作表选项也可以使用。以下是Excel为我生成的有趣内容(来自Book.htm,而不是Sheet文件)当我在第一页上保存了一个带有'abc'的简单2张工作簿而在第二页上有'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>