Open XML создает ссылку на другой рабочий лист

#c# #.net #xml #openxml

#c# #.net #xml #openxml

Вопрос:

Мне трудно выяснить, как выглядит XML для добавления ссылки с одного рабочего листа на другой. Я бы хотел что-то вроде этого:

 MainSheet
    Cell    Cell    Cell
    data    data    LinkToSheet2
    data    data    LinkToSheet3
    data    data    LinkToSheet4

Sheet2
    Cell    Cell    Cell
    ... data ...
Sheet3
    Cell    Cell    Cell
    ... data ...    
Sheet4
    Cell    Cell    Cell
    ... data ...
  

Ответ №1:

Я создал пустой файл Excel и добавил ссылку на Лист1 A1 на Лист2 A1, и вот полученный XML:

 <x:worksheet xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:x="http://schemas.openxmlformats.org/spreadsheetml/2006/main">
  <x:dimension ref="A1" />
  <x:sheetViews>
    <x:sheetView tabSelected="1" workbookViewId="0" />
  </x:sheetViews>
  <x:sheetFormatPr defaultRowHeight="15" />
  <x:cols>
    <x:col min="1" max="1" width="19.5703125" customWidth="1" />
  </x:cols>
  <x:sheetData>
    <x:row r="1" spans="1:1">
      <x:c r="A1" s="1" t="s">
        <x:v>0</x:v>
      </x:c>
    </x:row>
  </x:sheetData>
  <x:hyperlinks>
    <x:hyperlink ref="A1" location="Sheet2!A1" display="LinkToWorkSheet2" />
  </x:hyperlinks>
  <x:pageMargins left="0.7" right="0.7" top="0.75" bottom="0.75" header="0.3" footer="0.3" />
  <x:pageSetup orientation="portrait" r:id="rId1" />
</x:worksheet>
  

Вы в значительной степени хотите обратить внимание на <x:hyperlinks> элемент:

 <x:hyperlinks>
    <x:hyperlink ref="A1" location="Sheet2!A1" display="LinkToWorkSheet2" />
</x:hyperlinks>