2011-05-18 18 views
9

Bir web uygulamasında, Excel 2010'dan oluşturulan bir XSL şablonu kullanarak bir elektronik tablo XML'i oluşturuyorum. Bu elektronik tablonun XML'in varsayılan olarak Excel'de açılmasını istiyorum. Yani, bu Excel'de dosyasını açarExcel'de elektronik tabloyu xml'yi varsayılan olarak açın

Response.ContentType = "application/vnd.ms-excel"; 
Response.AddHeader("Content-Disposition", "Attachment;Filename=export.xls"); 
Response.Charset = ""; 

tepki için aşağıdaki özellikler ekleyebilir fakat Excel 2010 özelliği sertleştirme uzantısı, istemi görüntüler - çalıştığınız

dosya açmak için, 'export [1] .xls', biçiminde uzantısı tarafından belirtilen biçimden farklıdır. Dosyanın bozuk olduğunu ve dosyayı açmadan önce güvenilir bir kaynaktan olduğunu doğrulayın. Dosyayı açmak için istiyor musunuz?

Evet'i tıklatırsam, iyi açılır. Ancak, komut isteminin tamamen atlanması için bir yol var mı? Bir kullanıcının makinesinde istemini devre dışı bırakmak için kayıt defteri değişiklikleri hakkında okudum. Ancak, bu bir genel web sitesi ve bu çözüm işe yaramaz.

Ek dosya adını export.xml olarak ayarlayabilirim. Eğer kaydedip Excel'de açarsam, bir uyarı yoktur. Ancak XML varsayılan olarak Excel'de açılmaz.

Excel'de elektronik tabloyu xml açmak için herhangi bir fikir, istemi olmadan?

+0

"xlsx" türünü belirtirseniz herhangi bir şey değişir mi? –

+0

@Mike: Daha da kötüsü, Excel'in açması için bir seçenek sunmuyordu. Sadece bir OK düğmesiyle dosya uzantısının geçerli olmadığını bildirir. XSL şablonunu "XML Spreadsheet 2003" türünde kaydettiğime değinmek yararlı olabilir – itsbalur

+0

xlsx sıkıştırılmış bir xml değil mi? Sonuçlarınızı sıkıştırmayı denediniz mi? – pintxo

cevap

6

Bu blog bana sorunumun geçici çözümünde yardımcı oldu.

http://www.shareyourwork.org/roller/ralphsjavablog/entry/generating_excel_sheets_with_xslt

hüner yukarıda sonrası belirtilen şekilde XSL şablonu bu işleme talimatı eklemektir.

<xsl:processing-instruction name="mso-application"> 
<xsl:text>progid="Excel.Sheet"</xsl:text> 
</xsl:processing-instruction> 

bu sayede, .xml olarak dosya uzantısını belirtebilirsiniz, ancak varsayılan olarak Excel'de açılacaktır.

+3

Bağlantı şimdi öldü. Buraya taşınmış görünüyor: http://www-02.imixs.com/roller/ralphsjavablog/entry/generating_excel_sheets_with_xslt – technomalogical

İlgili konular