我有一个经典的ASP网络应用程序,可以将报告输出到Excel,但它实际上只是html。
某些报告输出多个组,每个组可以跨越多个页面(垂直)。我知道Excel在每个页面上打印指定行(或行)的“页面标题”功能,但是,我需要每个组的标题也显示在标题中。否则,第一组的标题将显示为每个组的标题。
我在谷歌小组看到有人建议将每个小组放在一个单独的工作表上,但我认为我不能轻易地输出多个工作表 - 或者根本不能单独使用html。
我正在寻找一个快速而肮脏的解决方案,因为我没有太多时间专注于维护这个狡猾的旧应用程序。
答案 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>