Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    Creare e salvare file excel tramite visual studio 2008

    Ciao a tutti!
    Spero che qualcuno riesca a risolvere il mio problema....
    Attraverso una interfaccia com in Visual Studio 2008 devo creare da zero un file Excel, e fin qui non ci sono problemi.
    Poi devo salvare questo file con nome, però voglio che l'utente possa scegliere il nome da assegnare al file. Quindi vorrei far comparire la classica finestra "Salva con Nome". Ho utilizzato il comando SaveFileDialog, ma non so come assegnare al file che sto salvando il file excel che ho creato io.
    Spero di essere stata abbastanza chiara...

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,459
    La spiegazione del problema non è molto chiara.

    Il componente SaveFileDialog serve solamente a fornire un'interfaccia per selezionare un file di destinazione, visibile chiamando il metodo ShowDialog.

    Se l'utente conferma la scelta (rappresentata dal valore restituito dal metodo), puoi accedere alla proprietà FileName e verificare il percorso che è stato selezionato.

    Il compito della SaveFileDialog finisce qui: ti da solo il percorso da utilizzare come parametro per le successive operazioni di salvataggio, che avvengono altrove utilizzando oggetti specifici in base al formato e ai dati che devono finire nel file.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    allora il problema è questo:
    nel form ho due button. Clickando sul button1 faccio creare un foglio excel dal nulla, praticamente faccio creare una tabella nella quale inserire dei valori. Una volta compilata la tabella, vorrei fare in modo che clickando sul button2 il file excel venga salvato (appunto aprendo automaticamente il "Salva con Nome" e inserendo la destinazione e il nome desiderati) e chiuso.
    Come faccio??

    Spero di essere stata un po' più chiara di prima!!!

  4. #4
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,459
    Originariamente inviato da mariele23
    Clickando sul button1 faccio creare un foglio excel dal nulla
    Cioè? Crei un foglio Excel a tutti gli effetti, o crei qualcos'altro che poi andrà trasformato in un foglio Excel. Pubblica il codice così si capisce cosa avviene.

    Originariamente inviato da mariele23
    Una volta compilata la tabella, vorrei fare in modo che clickando sul button2 il file excel venga salvato (appunto aprendo automaticamente il "Salva con Nome" e inserendo la destinazione e il nome desiderati) e chiuso.
    Tutto dipende da come o cosa hai usato per creare il file. Come dicevo prima, posta il codice così capiamo senz'altro meglio.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  5. #5

  6. #6
    Ecco il codice:

    __________________________________________________ ___________________________
    Imports Microsoft.Office.Interop.Excel
    Public Class Form1

    Dim excel As Application
    Dim cartella As Workbook
    Dim foglio As Sheets
    Dim CurSheet

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    excel = CreateObject("Excel.Application")
    excel.Visible = 1
    cartella = excel.Workbooks.Add
    foglio = excel.ActiveWorkbook.Sheets
    CurSheet = foglio.Item(1)
    CurSheet.Name = "Tabella Parametri"

    'CELLA A1
    CurSheet.Range("A1").Formula = "PARAMETRO"
    CurSheet.Range("A1").RowHeight = 20
    CurSheet.Range("A1").ColumnWidth = 30
    CurSheet.Range("A1").Interior.ColorIndex = 3
    CurSheet.Range("A1").Select()
    CurSheet.Range("A1").HorizontalAlignment = 3
    CurSheet.Range("A1").VerticalAlignment = 2
    CurSheet.Range("A1").Font.Name = "Arial Black"
    CurSheet.Range("A1").Font.Size = 11

    'BORDI
    CurSheet.Range("A1:B2").borders.LineStyle = 0
    CurSheet.Range("A1:B2").borders.Weight = 2




    End Sub
    End Class
    __________________________________________________ ___________________________

    Praticamente apre excel, lo rende visibile, crea un foglio e poi crea la tabella (c'è una sola cella altrimenti sarebbe troppo lungo).
    A questo punto voglio salvarla, ma non posso usare SaveAs perchè altrimenti dovrei dare io il nome e la destinazione al file direttamente nel codice. Voglio invece che sia un ipotetico utente a poterlo scegliere, aprendo appunto la finestra Salva con Nome.

  7. #7
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Come spesso mi capita di vedere, stai usando le dichiarazioni in modo sbagliato mescolando early binding e late binding.
    Ti consiglio di vedere questo mio articolo e progetto:

    VS2010 - Early-Late Binding in VB.NET + Excel
    http://nuke.vbcorner.net/Progetti/NE...T/Default.aspx

    Riguardo al SaveAs non è assolutamente vero che si può, altrimenti se così fosse, nessuno potrebbe salvare un file Excel.

    Il file puoi farlo scegliere sia prima che dopo aver creato il documento Excel.

  8. #8
    ciao,
    il fatto è che sono assolutamente alle prime armi con visual studio, non l'ho mai usato e adesso mi trovo costretta a usarlo per la tesi....quindi se qualcuno potesse scrivere qualche linea di codice in modo da risolvere il problema gliene sarei veramente molto grata!!!

  9. #9
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,459
    Originariamente inviato da mariele23
    il fatto è che sono assolutamente alle prime armi con visual studio, non l'ho mai usato e adesso mi trovo costretta a usarlo per la tesi....quindi se qualcuno potesse scrivere qualche linea di codice in modo da risolvere il problema gliene sarei veramente molto grata!!!
    No, questo non è lo spirito del forum e nemmeno la sua finalità.

    Non si fanno i compiti a casa altrui: è una tesi universitaria, pertanto studia quel poco di documentazione che ti viene suggerita, tenta di produrre qualcosa da sottoporre al forum ed eventualmente vedremo di darti una mano a correggerla e migliorarla.

    Se aspetti che gli utenti si sobbarchino l'onere di svolgere il lavoro al posto tuo, o anche parte di esso, non sei nel posto giusto.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  10. #10
    Non pretendo assolutamente che qualcuno faccia la tesi al posto mio!!!!!
    Anche perchè la tesi rguarda tutt'altro....questa è solo una parte marginale...il problema è che le risposte che ho ottenuto non erano particolarmente chiare.....io volevo solo sapere se per caso esisteva un comando che faceva al caso mio....
    Comunque se questo non è possibile cercherò altrove....
    grazie a tutti lo stesso....

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.