我已经“继承”了一些将数据下载到Excel电子表格的代码。格式化html的相同表格正在生成Excel数据。
我正在尝试设置工作表的页边距。以下代码并没有真正做到这一点。我认为xml数据会被忽略。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns:x="urn:schemas-microsoft-com:office:excel">
<head id="Head1" runat="server">
<title></title>
<style>
@page
{
mso-page-orientation:portrait;
}
</style>
<xml>
<x:ExcelWorkbook>
<x:ExcelWorksheets>
<x:ExcelWorksheet>
<x:Name>HoursReport</x:Name>
<x:WorksheetOptions>
<x:Selected/>
<x:FreezePanes/>
<x:FrozenNoSplit/>
<!--- Bottom row number of top pane. --->
<x:SplitHorizontal>4</x:SplitHorizontal>
<x:TopRowBottomPane>4</x:TopRowBottomPane>
<x:PageSetup>
<x:Header x:Margin="0.25"/>
<x:Footer x:Margin="0.25"/>
<x:PageMargins x:Bottom="0.75" x:Left="0.7" x:Right="0.7" x:Top="0.75"/>
</x:PageSetup>
<x:FitToPage/>
<x:Print>
<x:FitHeight>99</x:FitHeight>
<x:ValidPrinterInfo/>
<x:Scale>100</x:Scale>
<HorizontalResolution>600</HorizontalResolution>
<VerticalResolution>600</VerticalResolution>
</x:Print>
<x:Selected/>
<x:ActivePane>2</x:ActivePane>
<x:ProtectContents>False</x:ProtectContents>
<x:ProtectObjects>False</x:ProtectObjects>
<x:ProtectScenarios>False</x:ProtectScenarios>
</x:WorksheetOptions>
</x:ExcelWorksheet>
</x:ExcelWorksheets>
<x:ProtectStructure>False</x:ProtectStructure>
<x:ProtectWindows>False</x:ProtectWindows>
</x:ExcelWorkbook>
<x:ExcelName>
<x:Name>Print_Titles</x:Name>
<x:SheetIndex>1</x:SheetIndex>
<x:Formula>='HoursReport'!$1:$4</x:Formula>
</x:ExcelName>
</xml>
</head>
我对这里的一切都是新手 - asp.net,c#,xml,excel ... :)我已经得到了其他excel命令工作 - 拆分和冻结窗格等但页面边距似乎不大做任何事。
那里的任何人可以理顺我吗?
谢谢!
答案 0 :(得分:1)
试图完成同样的事情,并且PageMargins标签似乎不起作用,使用CSS的工作是什么。
<style type="text/css">
<!--
@page {
margin:.0in .0in .0in .0in;
mso-header-margin:.0in;
mso-footer-margin:.0in;
mso-page-orientation:portrait;
}
@print {
margin:.0in .0in .0in .0in;
mso-header-margin:.0in;
mso-footer-margin:.0in;
mso-page-orientation:portrait;
}
-->
</style>
答案 1 :(得分:1)
<ss:Worksheet>
<x:WorksheetOptions>
<x:PageSetup>
<x:PageMargins x:Bottom="1.5" x:Left=".25" x:Right=".25" x:Top="1.5" />
</x:PageSetup>
</x:WorksheetOptions>
</ss:Worksheet>
您的页面设置选项位于WorksheetOptions
标记内。我在开始的Worksheet
标记后面放了我的。它就像一个魅力。
答案 2 :(得分:0)
也许
<x:pageMargins x:left="0.7" x:right="0.7" x:top="0.75" x:bottom="0.75" x:header="0.3" x:footer="0.3" />
作为<x:ExcelWorksheet>
元素中的子元素,而不是<x:PageSetup>
元素