html в excel — печать строки 1 на каждой странице

#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>