2015-11-05 24 views
5

Quando si utilizza l'SDK OpenXML per applicare un bordo a un intervallo di celle unito, il bordo viene visualizzato solo per la prima cella (in alto a sinistra) nell'intervallo di fusione. Non ne ho assolutamente idea e questo mi sta facendo impazzire. Utilizzando lo strumento di produttività non riesco a trovare alcuna differenza significativa in quello che ho e qualcosa che funziona come previsto. Questo è il mio XML generato per il foglio di stile:Il bordo SDK OpenXML sulle celle unite viene applicato solo alla prima cella

<x:borders count="2" xmlns:x="http://schemas.openxmlformats.org/spreadsheetml/2006/main"> 
     <x:border> 
     <x:left /> 
     <x:right /> 
     <x:top /> 
     <x:bottom /> 
     <x:diagonal /> 
     </x:border> 
     <x:border> 
     <x:left /> 
     <x:right /> 
     <x:top /> 
     <x:bottom style="thick"> 
      <x:color auto="1" /> 
     </x:bottom> 
     <x:diagonal /> 
     </x:border> 
    </x:borders> 
    <x:cellXfs xmlns:x="http://schemas.openxmlformats.org/spreadsheetml/2006/main"> 
     <x:xf fontId="0" /> 
     <x:xf fontId="1" fillId="2" applyFont="1" applyFill="1" /> 
     <x:xf borderId="1" applyBorder="1" /> 
    </x:cellXfs> 

Ho provato tutto, applicando l'unione prima del confine, dopo, ecc

+1

È possibile pubblicare l'XML che funziona come previsto? Forse la differenza tra i due non sembra significativa ma altri saranno in grado di vedere il significato. –

+0

@pnuts. Sì, non l'ho pubblicato perché è (il foglio di stile) letteralmente identico. Il problema era in realtà con le cellule stesse come ho capito. – sovemp

risposta

5

ho capito questo. Ho avuto l'impressione che se si applica uno stile alla cella in alto a sinistra in un gruppo di celle unite, allora detto stile si applicherà all'intera unione. Giuro di aver letto alcuni documenti che lo dicevano, ma a quanto pare non è così. Ciò che ha funzionato è che ho applicato lo stile del bordo a ogni cella nell'intervallo di fusione, non solo il primo.

Mi sembra strano che il modo in cui inizialmente l'ho concesso sia addirittura consentito, considerando che l'output generato è impossibile da riprodurre oltre che tramite l'SDK OpenXML.

+1

può confermare nel 2018, è indicato nella documentazione ufficiale di Microsoft per la classe MergeCells – Palcente