Avatar billede kodak Mester
28. januar 2023 - 00:12 Der er 1 kommentar

Auto udfyld

Jeg har en excel fil fyldt med navne.

Jeg har også en xml fil med nogle af disse navne
og så har jeg en xsl fil der viser xml filen,
her i er der et 'for-each' script der læser alle navnene i xml filen og lister den op i en tabel.

Jeg mangler nu et script der tilføjer tomme felter hvor de findes i excel filen men ikke i xml filen.



<xsl:for-each select="TestResultSummary/TestSummary">
      <tr>
        <xsl:variable name="file"><xsl:value-of select="FileName"/>.xml</xsl:variable>

        <td><a href="java script:void(window.open('{$file}', '', 'width=800, height=700, menubar=yes, status=no, location=no, toolbar=no, scrollbars=yes, resizable=yes'));" class="" title="Test Result" onMouseOver="window.status = 'Test Result'; return true"><xsl:value-of select="CableID"/></a></td>

        <td><xsl:value-of select="DateTime"/></td>

        <td><xsl:call-template name="printPassFail"/></td> 

        <td><xsl:value-of select="Length"/></td>
    <td><xsl:value-of select="Standard"/></td>
        <td><xsl:value-of select="Media"/></td>
    <td><xsl:value-of select="HeadroomNEXT"/></td>
    <td><xsl:value-of select="HeadroomRL"/></td>
    <td><xsl:value-of select="HeadroomLoss"/></td>
      </tr>
      </xsl:for-each>
Avatar billede Claus Wøbbe Juniormester
31. januar 2023 - 08:39 #1
For at tilføje tomme felter, hvor de findes i Excel filen men ikke i XML filen, kan du tilføje en ekstra kolonne til din tabel i XSL-filen for hver kolonne i Excel filen, der ikke findes i XML filen. Du kan derefter bruge et 'xsl:if' script til at tjekke, om feltet er tilstede i XML filen og kun vise værdien, hvis det er tilfældet. Hvis det ikke er tilfældet, kan du vise et blankt felt i stedet. Her er et eksempel på, hvordan du kan tilføje en ekstra kolonne for "E-mail":
<tr>
    <xsl:variable name="file"><xsl:value-of select="FileName"/>.xml</xsl:variable>
<td><a href="java script:void(window.open('{$file}', '', 'width=800, height=700, menubar=yes, status=no, location=no, toolbar=no, scrollbars=yes, resizable=yes'));" class="" title="Test Result" onMouseOver="window.status = 'Test Result'; return true"><xsl:value-of select="CableID"/></a></td>

<td><xsl:value-of select="DateTime"/></td>

<td><xsl:call-template name="printPassFail"/></td>

<td><xsl:value-of select="Length"/></td>
<td><xsl:value-of select="Standard"/></td>
<td><xsl:value-of select="Media"/></td>
<td><xsl:value-of select="HeadroomNEXT"/></td>
<td><xsl:value-of select="HeadroomRL"/></td>
<td><xsl:value-of select="HeadroomLoss"/></td>

<!-- Check for E-mail column -->
<xsl:if test="E-mail">
    <td><xsl:value-of select="E-mail"/></td>
</xsl:if>
<xsl:if test="not(E-mail)">
    <td></td>
</xsl:if>
</tr>

Dette vil vise en ekstra kolonne for "E-mail", hvis feltet er til stede i XML filen, eller et blankt felt, hvis det ikke er tilfældet. Du kan gentage denne proces for hver kolonne i Excel filen, der ikke findes i XML filen.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester