Hvordan får du et regneark til å åpne Excel i stedet for et nettleservindu?

stemmer
10

Hvis du ringer javascript window.open og bestå en url til en .xls fil det åpent på noen maskiner i nettleservinduet. Hvordan kan du tvinge den inn i Excel?

Publisert på 23/09/2008 klokken 10:26
kilden bruker
På andre språk...                            


11 svar

stemmer
3

Bare brukerens maskin kan "tvinge" det inn i Excel. Når det er sagt, 99% av tiden hvis du sender riktig MIME-type og en bruker har Excel, da det vil åpne i Excel forutsatt at de godkjenner.

Og bare serveren kan sende riktig MIME-type. Dokumenttypen du sender til en Javascript window.open samtalen vil ha noen effekt på dette. Faktisk vil ringe window.open i beste fall bare åpne en overflødig vinduet.

Det er best å bare lenke til dokumentet med <a href="foo.xls">. Og forutsatt serveren sender en mime-type application/x-exceleller application/x-msexceldette vil nesten alltid dytte nettleseren til å åpne et nytt vindu med Excel-dokument.

Svarte 23/09/2008 kl. 10:36
kilden bruker

stemmer
0

AFAIK du ikke kan gjøre dette med Javascript alene. Hvis du har noen form for skriptspråk på serversiden kan du endre overskriften for å tvinge en nedlasting.

Her finnes en enkel tutorial i PHP, men du kan enkelt finne en i din favoritt språk.

Svarte 23/09/2008 kl. 10:36
kilden bruker

stemmer
0

Du kan ikke tvinge den inn i Excel. Du kan tillate nettleseren for å håndtere det uansett hvordan den er konfigurert til å gjøre det, eller du kan prøve å tvinge den til å laste ned filen og la brukeren åpne hvis fra skrivebordet. For å tvinge en nedlasting, søk etter "force download" og din server-side språk (PHP, ASP.NET, JSP, etc.)

Svarte 23/09/2008 kl. 10:38
kilden bruker

stemmer
0

Jeg tror ikke du kan, du kan ikke ringe eksterne programmer som bruker Javascript av sikkerhetsmessige grunner. Forutsatt at brukeren har Excel installert, kan du åpne det nye vinduet uten adresselinjen for å gi brukeren "illusjonen" at filen er blitt åpnet med Excel i Internet Explorer.

Svarte 23/09/2008 kl. 10:38
kilden bruker

stemmer
0

Jeg ville ikke tror dette er mulig fra javascript på grunn av sikkerhetsproblemer, ville det være ingenting stoppe en rogue nettside fra å åpne dusinvis av excel / word tilfeller.

Kan du ikke sette en hyperkobling til url av XLS, på den måten at brukeren vil få den vanlige nedlastings bedt om å se filen.

Svarte 23/09/2008 kl. 10:38
kilden bruker

stemmer
0
  1. Sett http innholdstype til Excel datatype: application / vnd.ms-excel
  2. Du bør ikke trenger å omdirigere til et nytt vindu, men du vil få en popup ber brukeren om å lagre eller åpne filen.
  3. I forhold til (2): Jeg vil bekymre deg hvis en nettleser kan starte et eksternt program og laste inn data i den automatisk uten brukermedvirkning.
Svarte 23/09/2008 kl. 10:40
kilden bruker

stemmer
0

Dette er en innstilling i hver brukers nettleser og ikke i noe som kan settes av kode. Så dessverre du ikke har kontroll over det.

Svarte 23/09/2008 kl. 10:41
kilden bruker

stemmer
1

Hvis det er bare en statisk fil, og du bruker Apache på Linux, se etter en fil som heter /etc/mime.types, og sørge for at den har følgende linje i det å knytte XLS filtypen med riktig MIME-type :

application/vnd.ms-excel    xls

Jeg gjetter plasseringen av filen kan variere på tvers av systemer, men det er i /etc/mime.types på min server som kjører RHEL4.

Svarte 23/09/2008 kl. 10:45
kilden bruker

stemmer
0

Du kan ikke, som det avhenger av klientmaskinen.

For eksempel på Windows hvis du vil at den skal alltid åpne den med Excel, ikke i nettleservinduet, må du åpne Min datamaskin, Verktøy, Mappealternativer, filtyper, velg XLS type, og klikk på Avansert. Det er to boksene: Bla i samme vindu og åpne web-dokumenter på plass. Fjern merkingen både nær nettleservinduet, åpne den igjen og prøve på nytt.

Men som jeg sa: det kommer an på klienten, kan du ikke tvinge den.

Svarte 23/09/2008 kl. 11:13
kilden bruker

stemmer
0

Du kan gjøre dette ved hjelp LaunchinIE , en ActiveX-kontroll som gjør at HTML-sider for å starte det programmet på kundens maskin, uten sikkerhetsadvarsler.

Sitat fra nettstedet: "Endelig, websider kan starte Word, Excel, eller andre bedriftens søknad uten klager sikkert.".

For dette har du å installere kontroll på brukerens maskin og også legge til URL-adressen som er lov til å kjøre lokale applikasjoner til Windows-registret.

Et annet sitat fra nettstedet: "For å ivareta sikkerheten, må LaunchinIE være nøye konfigurert på klientsiden, på grunn av denne begrensningen er det bare passer for intranett bruk."

Jeg bruker LaunchinIE i vår treningsanlegg slik at jeg kan bruke Internet Explorer som en meny som lar brukeren velge maskinoppsettet. LaunchinIE kaller deretter en batch skript som konfigurerer maskinen til beste støtte den valgte trening.

Svarte 23/09/2008 kl. 15:37
kilden bruker

stemmer
0

Her er fremgangsmåten for å få denne pop-up tilbake når du åpner en lagret Excel-fil.

  1. Høyreklikk på Windows [START] -knappen og velg Utforsk for å åpne Windows Utforsker-vindu åpnes.
  2. Fra menyen velger du Verktøy \ Mappealternativer ...
    • Velg kategorien Filtyper og bla nedover listen over filer.
    • Venstre-klikk for å markere XLS Microsoft Excel-regneark filtype og klikk på knappen Avansert.

  3. I Type-vinduet Edit File, Fjern haken på “Bla i samme vindu” alternativet.

  4. Klikk på OK-knappen for å godta endringene.

  5. Start en ny nettleser økt. Neste gang du åpner Excel-regneark i innboksen din, bør du bli bedt med følgende vindu. Sørg for å la “Spør alltid før du åpner denne typen filer” som sjekket. Ved å klikke på knappen Åpne skal nå åpne filen i Excel.

Svarte 15/04/2009 kl. 20:29
kilden bruker

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