11 messaggi dal 23 giugno 2023
Scusate il disturbo che magari sto ponendo un problema banale. Ho scritto un semplice progetto di prova dove apro un file excel senza problemi e che posso editare e modificare a piacimento. Mi è venuta l'idea di poter modificare il Font di scrittura e navigando in internet ho trovato una semplice procedura che in effetti inserita nel progetto non mi segnala errori ne in scrittura ne in esecuzione. Il problema è che se scrivo qualcosa in una TextBox il Font viene cambiato correttamente mentre quando scrivo la stessa cosa in una cella del file excel il programma si interrompe con un codice d'errore. Riporto la parte di codice interessata ed l'errore indicato in fase di esecuzione.

Font myfont = new Font("Times New Roman", 15); //Definisco il font da usare

textBox1.Text = "prova";
textBox1.Font = myfont;

ws.Cells[7, 2] = "prova";
ws.Cells[7, 2].Font = myfont;

Il messaggio di errore
Eccezione non gestita
System.ArgumentException: Impossibile convertire l'argomento 0 per la chiamata a Font


Se qualcuno può aiutarmi a risolvere il problema gli sarei infinitamente grato.
Grazie R. Rangogni
311 messaggi dal 08 gennaio 2011
Mi sono preso la briga di chiedere al Copilot di Bing; mi ha risposto così :

Per cambiare il font di una cella in un foglio Excel in un progetto WinForms, puoi utilizzare la libreria Microsoft.Office.Interop.Excel. Ecco un esempio di come potresti farlo:


// Crea un'applicazione Excel
Microsoft.Office.Interop.Excel.Application excelApp = new Microsoft.Office.Interop.Excel.Application();

// Apri un libro di lavoro esistente
Microsoft.Office.Interop.Excel.Workbook excelWorkbook = excelApp.Workbooks.Open(@"C:\path\to\your\excel\file.xlsx");

// Seleziona il primo foglio di lavoro
Microsoft.Office.Interop.Excel._Worksheet excelWorksheet = excelWorkbook.Sheets[1];

// Seleziona la cella
Microsoft.Office.Interop.Excel.Range excelRange = excelWorksheet.Cells[1, 1];

// Cambia il font della cella
excelRange.Font.Name = "Arial";
excelRange.Font.Size = 12;

// Salva e chiudi
excelWorkbook.Save();
excelWorkbook.Close();
excelApp.Quit();



In questo esempio, il font della cella A1 viene cambiato in Arial con dimensione 12. Ricorda di sostituire "C:\\path\\to\\your\\excel\\file.xlsx" con il percorso del tuo file Excel.

Nota: Questo codice richiede un riferimento alla libreria Microsoft.Office.Interop.Excel. Puoi aggiungerlo al tuo progetto tramite Aggiungi riferimento -> Estensioni -> Microsoft.Office.Interop.Excel in Visual Studio. Inoltre, assicurati che Excel sia installato sul computer in cui viene eseguito il codice.

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.