HTML naar Excel: Hoe kan Excel vertellen om columns te behandelen als getallen?

stemmen
19

Ik moet het volgende bij het openen van een HTML-in Excel te bereiken (Response.contentType=application/vnd.ms-excel):

  • kracht Excel om de inhoud van de td cellen als getallen te overwegen
  • maken de bovengenoemde, zodat eventuele volgende gebruiker ingevoerde formules werken op deze cellen (als het werkblad wordt geopend)

Tot nu toe was ik succesvol met het toevoegen van style=vnd.ms-excel.numberformat:0.00de td cellen in kwestie. De inhoud van de cellen worden correct weergegeven als nummers als ik klik met de rechtermuisknop op hen in de Excel, maar de formules werken niet.

Als dat lukt, zou die techniek erg nuttig zijn, omdat elke web Excel rapport gebruiker kan worden verbeterd met samenstellingen volgens de aangepaste eisen. Bij voorbaat bedankt.

De vraag is gesteld op 09/12/2008 om 23:26
bron van user
In andere talen...                            


6 antwoorden

stemmen
28

Als je een CSS-klasse toe te voegen aan uw pagina:

.num {
  mso-number-format:General;
}
.date {
  mso-number-format:"Short Date";
}

En klap die klassen op uw TD's, werkt het?

<td class="num">34</td>
<td class="num">17.0</td>
<td class="date">12/17/2008</td> <!-- if you are playing with dates too -->

Update: Extra opmaakopties van @Aaron.

antwoordde op 10/12/2008 om 00:06
bron van user

stemmen
16

Hier is een lijst van Excel formaten: Styling Excel cellen met mso-nummer-formaat

antwoordde op 22/07/2009 om 16:34
bron van user

stemmen
4

De beste truc is om mock-up van een Excel-spreadsheet met alle kleuren / (voorwaardelijke) formaten / formules die u nodig heeft.

Houd het zo eenvoudig mogelijk, maar het absolute minimum rijen etc.

Sla het Excel-spreadsheet "als XML Spreadsheet"

Dan heb je een sjabloon om een ​​spreadsheet te bouwen via XML.

Ik schoon in het algemeen tot stijlen in de oorspronkelijke Xml gered uit de Excel-werkmap. Het verwijderen van duplicaten en hen te hernoemen.

Dan is het gewoon een kwestie van het vullen met wat gegevensbron je hebt.

Ik weet niet welke omgeving je codering, maar in VB.NET met LINQ en Xml Literals, dit is een zeer eenvoudige taak.

antwoordde op 10/12/2008 om 00:04
bron van user

stemmen
2

Het maakt niet werkt soms als u het toevoegen met behulp van een css classin dat geval proberen met behulp van in Styleom je TD. Ik deed het voor het opmaken van een kolom om een tekst. zoals dit

 style="mso-number-format:\@;"

Voor je het zou zijn als

  mso-number-format:General
antwoordde op 03/10/2012 om 14:17
bron van user

stemmen
1

Ik kon niet een van de antwoorden op deze pagina om te werken in Excel 2010. Ik belandde via dit.

<td x:num>123</td>

antwoordde op 22/07/2015 om 03:45
bron van user

stemmen
0

UPDATE: Je moet ook vaste spaties (nbsp's) uit td cellen die numerieke of geld informatie om formules te werken aan deze cellen in Excel te verwijderen. Dus het probleem is opgelost.

antwoordde op 10/12/2008 om 19:42
bron van user

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more