Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15

Discussione: [1.1] Interop.Excel

  1. #1
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887

    [1.1] Interop.Excel

    Sto usando il namespace del titolo per controllare e generare fogli Excel.
    Fin quando maneggio Windows Forms tutto e' ok...

    Quando provo a fare una webform, si lamenta del fatto che non riesce a creare l'oggetto, qui :

    codice:
    ApplicazioneExcel = CreateObject("Excel.Application")
    System.Exception: Impossibile creare il componente ActiveX. at Microsoft.VisualBasic.Interaction.CreateObject


    come mai ? cosa devo aggiungere ?

  2. #2
    Problemi di permessi immagino.
    Prova ad impersonare un utente diverso da quello con cui gira l'applicativo (è un applicazione Web?).


  3. #3
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126

    Re: [1.1] Interop.Excel

    Originariamente inviato da djciko
    Sto usando il namespace del titolo per controllare e generare fogli Excel.
    Fin quando maneggio Windows Forms tutto e' ok...

    Quando provo a fare una webform, si lamenta del fatto che non riesce a creare l'oggetto, qui :

    codice:
    ApplicazioneExcel = CreateObject("Excel.Application")
    System.Exception: Impossibile creare il componente ActiveX. at Microsoft.VisualBasic.Interaction.CreateObject


    come mai ? cosa devo aggiungere ?
    uhm.. non vorrei dire una stronzata ma mi sà che devi aggiungere un riferimento alla libreria.. che scusami ma non ricordo come si chiama

  4. #4
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Questa pagina html riassume i consigli che ho visto tempo fa non so dove.
    Però, con Word non mi funziona, ma con Excel sì

    Configurazione di Microsoft Word
    Per configurare Word affinché esaudisca ogni nostra richiesta di stampa, è necessario impostarlo in modo tale che sia possibile sfruttarlo dalle nostre pagine ASP.
    Per fare questo dobbiamo:
    1. Aggiungere l’utente AspNet
    1. Lanciare DCOMCNFG da linea di comando
    2. Selezionare, dall'elenco delle applicazioni installate, Documento di Microsoft Word
    (Applicazione Microsoft Excel)
    3. oppure, se si ha WindowXP
    Servizi componenti/Computer/Risorse del computer/Config DCOM/Applicazione Microsoft Excel
    4. Aprire la finestra Proprietà..
    5. La scheda "Generale" permette di impostare il livello di autenticazione, che in questo caso deve essere impostato a "(nessuno)"
    6. Nella scheda "Protezione", impostare "Utilizza le autorizzazioni di esecuzione personalizzate"
    7. Scegliere "Modifica.." e accertarsi che tutti gli utenti abbiano l'opzione "Consenti Avvio"
    8. Assicurarsi che gli utenti IUSR_[nomepc] e IWAM_[nomepc] rispettino tale condizione.
    9. Sempre nella scheda "Protezione", impostare "Utilizza le autorizzazioni di configurazione personalizzate"
    10. Scegliere "Modifica.." e accertarsi che tutti gli utenti abbiano l'opzione "Controllo Completo".
    Assicurarsi che l'utente Everyone abbia tali privilegi.
    11. Nella scheda "Identità" impostare come account utente "Utente Interattivo"
    12. Confermare i cambiamenti effettuati cliccando sul pulsante OK
    13. Riavviare il pc.
    Pietro

  5. #5
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887

    Re: Re: [1.1] Interop.Excel

    Originariamente inviato da dops
    uhm.. non vorrei dire una stronzata ma mi sà che devi aggiungere un riferimento alla libreria.. che scusami ma non ricordo come si chiama
    La libreria da referenziare (COM) è Microsoft.Excel xx.xx Object Library, cioè le PIA (Primary Interop Assemblies) che possono essere installate anche dalla suite di installazione di Office.

    Ora provo la procedura di Pietro e faccio sapere.

  6. #6
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    questa è la pagina di prova che crea il file excel. La directory ha permessi di scrittura
    codice:
    Option Strict On
    Partial Class CorsoApogeo_crea_excel_creaexcel
        Inherits System.Web.UI.Page
    
        Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            'Inserire qui il codice utente necessario per inizializzare la pagina
    
            Const xlNormal% = -4143
            Dim NomeFile$ = "prova.xls"
    
            Dim x As Excel.Application
            Dim w As Excel.Workbook
            Dim s As Excel.Worksheet
            Dim range As Excel.Range
    
    
            'cancello il file se esiste
            File.Delete(Server.MapPath(NomeFile))
    
            'creo una istanza di excel
            x = New Excel.Application
    
            x.Visible = False
    
            'aggiungo un nuovo documento
            x.Workbooks.Add()
    
            'recupero il documento attivo ed il foglio di calcolo attivo
            w = x.ActiveWorkbook
            s = DirectCast(x.ActiveSheet, Excel.Worksheet)
    
            'cambio il nome del foglio attivo
            s.Name = "Nuovo foglio"
    
            'scrivo nella cella A1
            s.Range("A1").Select()
            x.ActiveCell.FormulaR1C1 = "Pietro"
    
            'metto una formula nella cella B2
            s.Range("B2").Select()
            x.ActiveCell.FormulaR1C1 = Now()
    
            'allargo la colonna B
            range = DirectCast(x.Columns("B:B"), Excel.Range)
            range.EntireColumn.AutoFit()
    
            'salvo il file
            w.SaveAs(Me.MapPath(NomeFile), xlNormal)
    
            'esco da excel
            x.Quit()
    
            'reindirizzo verso il file creato
            Response.Clear()
            Response.Redirect(NomeFile)
    
    
        End Sub
    End Class
    Pietro

  7. #7
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    Funzionaaaaaaaa devo soltanto approfondire un pò l'uso di queste classi per vedere fino a che punto ti permettono di spingerti.

    Per esempio, e' possibile impostare i filtri automaticamente sulla prima riga ?

    (grazie, Pietro)

  8. #8
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Originariamente inviato da djciko
    Funzionaaaaaaaa devo soltanto approfondire un pò l'uso di queste classi per vedere fino a che punto ti permettono di spingerti.

    Per esempio, e' possibile impostare i filtri automaticamente sulla prima riga ?

    (grazie, Pietro)
    con un po' di pazienza puoi crearti quello che vuoi, formattato come vuoi, con formule...

    ti puoi aiutare col registratore macro
    Pietro

  9. #9
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    Ok, grazie. Tu la trovi stabile ed affidabile, tutta la tecnica ?

    Cioè, le affideresti una visualizzazione in excel che devono vedere personaggi che nel loro ufficio hanno le poltrone (ho modificato: avevo scritto 'l'acquario' ) in pelle umana ?

    Ho visto che qualche volta genera una eccezione (ma probabilmente è l'IDE):




  10. #10
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Originariamente inviato da djciko
    Ok, grazie. Tu la trovi stabile ed affidabile, tutta la tecnica ?

    Cioè, le affideresti una visualizzazione in excel che devono vedere personaggi che nel loro ufficio hanno l'acquario in pelle umana ?

    Ho visto che qualche volta genera una eccezione (ma probabilmente è l'IDE):




    io usavo questa tecnica qualche anno fa, quando non conoscevo javascript ma solo vbscript e proprio non la utilizzerei, perchè abbastanza instabile. Basta un qualunque errore ed ti trovi nel server tante istanze di excel invisibili.
    Poi ti devi preoccupare di creare il file con nome univoco perchè tanti utenti possono entrare in quella pagina. Poi devi fare pulizia dei files temporanei. Insomma, hai capito
    Pietro

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.