#html #css #xml #excel #printing
#HTML #css #xml #excel #печать
Вопрос:
Мы используем HTML / XML / CSS для экспорта таблицы в Excel 2007.
У меня есть приведенная ниже настройка кода, которая при загрузке HTML-страницы затем экспортирует данные в Excel. Первые две строки задаются как замороженные панели, что удобно при просмотре документа, но не печатает эти строки на каждой распечатанной странице. Все данные моей страницы представлены в формате tr-th tr-td таблицы.
предполагается, что блок, расположенный внизу (я прочитал), печатает первую строку на каждой печатной странице… но это не так.
Я также читал, что раздел …. должен печатать первые строки на каждой странице, но это, похоже, тоже не работает.
Любые предложения, идеи или ответы приветствуются!!
header("Cache-Control: public, must-revalidate");
header("Pragma: no-cache");
header ('Content-type: application/vnd.ms-excel');
header ('Content-Disposition: attachment; filename=StoreVsCompany.xls');
echo '
<html xmlns:x="urn:schemas-microsoft-com:office:excel">
<head>
<!--[if gte mso 9]>
<xml>
<x:ExcelWorkbook>
<x:ExcelWorksheets>
<x:ExcelWorksheet>
<x:Name>VendorAgendaSummary</x:Name>
<x:WorksheetOptions>
<x:PageSetup>
<x:Layout x:Orientation="Portrait"/>
<x:Header x:Margin="0.3"/>
<x:Footer x:Margin="0.3"/>
<x:PageMargins x:Bottom="0.75" x:Left="0.5" x:Right="0.5" x:Top="0.75"/>
</x:PageSetup>
<x:FitToPage/>
<x:Print>
<x:FitHeight>100</x:FitHeight>
<x:ValidPrinterInfo/>
<x:HorizontalResolution>600</x:HorizontalResolution>
<x:VerticalResolution>600</x:VerticalResolution>
</x:Print>
<x:FreezePanes/>
<x:FrozenNoSplit/>
<x:SplitHorizontal>2</x:SplitHorizontal>
<x:TopRowBottomPane>2</x:TopRowBottomPane>
<x:SplitVertical>2</x:SplitVertical>
<x:LeftColumnRightPane>2</x:LeftColumnRightPane>
<x:ActivePane>0</x:ActivePane>
<x:Panes>
<x:Pane>
<x:Number>3</x:Number>
</x:Pane>
<x:Pane>
<x:Number>1</x:Number>
</x:Pane>
<x:Pane>
<x:Number>2</x:Number>
</x:Pane>
<x:Pane>
<x:Number>0</x:Number>
<x:ActiveRow>0</x:ActiveRow>
<x:ActiveCol>1</x:ActiveCol>
</x:Pane>
</x:Panes>
</x:WorksheetOptions>
</x:ExcelWorksheet>
</x:ExcelWorksheets>
</x:ExcelWorkbook>
<x:ExcelName>
<x:Name>Print_Titles</x:Name>
<x:SheetIndex>1</x:SheetIndex>
<x:Formula>='strWorkBookName'!$1:$1</x:Formula>
</x:ExcelName>
</xml>
<![endif]-->
</head>';
Ответ №1:
используя комбинацию этого, я смог заморозить строку 6.
<x:ExcelWorkbook>
<x:ExcelWorksheets>
<x:ExcelWorksheet>
<x:WorksheetOptions>
<x:FreezePanes/>
<x:FrozenNoSplit/>
<x:SplitHorizontal>6</x:SplitHorizontal>
<x:TopRowBottomPane>6</x:TopRowBottomPane>
<x:ActivePane>2</x:ActivePane>
</x:WorksheetOptions>
</x:ExcelWorksheet>
</x:ExcelWorksheets>
</x:ExcelWorkbook>
<x:ExcelName>
<x:Name>Print_Titles</x:Name>
<x:SheetIndex>1</x:SheetIndex>
<x:Formula>=Sheet1!$6:$6</x:Formula>
</x:ExcelName>