代码之家  ›  专栏  ›  技术社区  ›  Chloraphil

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

  •  0
  • Chloraphil  · 技术社区  · 15 年前

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

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

    我在googlegroups上看到有人建议将每个组放在一个单独的工作表上,但是我不认为单独使用html就可以轻松地输出多个工作表。

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

    1 回复  |  直到 15 年前
        1
  •  1
  •   colithium    15 年前

    这有点晚了,但我想我已经找到了解决办法。你可以做的是打开Excel,手动模拟你想要的,然后保存为网页。在一个简单的文本编辑器中打开生成的文件并检查生成的HTML/XML。我这样做是为了一个有多个工作表的工作簿,它似乎可以工作。

    你可以对多个组做同样的处理,因为这看起来像是你真正想要的解决方案,过程是一样的。但是多个工作表选项也可以。以下是Excel为我生成的有趣的部分(来自图书.htm,而不是工作表文件)当我保存一个简单的2页工作簿时,第一页是“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>