试图通过XML在Excel中设置页边距

我已经“inheritance”了一些将数据下载到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命令的工作 – 分裂和冻结窗格等,但页边缘似乎没有做任何事情。

那里的任何人都可以理顺我?

谢谢!

试图完成同样的事情,并且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> 
 <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标签的开头。 它像一个魅力。

也许

 <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>元素