2013-06-06 14 views
6

Ho un dilemma interessante e mi chiedevo se qualcuno potesse sapere se è possibile. Sto creando un file .csv usando java e per una delle voci separate da virgola per ogni riga è un URL.Caso speciale di formattazione cella Excel

Esempio:

item1, item2, item3, http://myurl.com

Originariamente quando ho caricato il file CSV in Excel, è caricato solo il testo per l'URL e non stava rendendo cliccabile. Sono stato in grado di risolvere questo semplicemente che circonda la voce con questa stringa durante la creazione del file:

= HYPERLINK ("http://myurl.com")

Quando carichi di Excel, il link è cliccabile e il puntatore del mouse l'icona della mano. L'unico problema è che quando lo guardi e non aleggi la cella, sembra solo testo nero su sfondo bianco. Di solito quando vedi un link, è blu con una sottolineatura che indica che è cliccabile. Mi piacerebbe avere questa coda visiva, ma non sono sicuro che ci sia un modo per farlo semplicemente modificando la mia funzione in alto con una sorta di funzione di formattazione della cella o qualcosa del genere.

E sì, so cos'è la formattazione condizionale e come applicarla a una cella in Excel. Tuttavia, questo non funzionerà per me, perché ho solo bisogno che funzioni quando il file viene caricato. Il file viene sempre creato nuovo quando un utente lo scarica, perché i contenuti cambiano continuamente. Qualsiasi idea sarebbe molto apprezzata.

+0

La creazione del file in un altro formato anziché CSV è un'opzione (come forse HTML o XML)? –

+0

Non in questo caso. Le persone che scaricano il file ne avranno bisogno in formato csv in modo che possano importare in più programmi, incluso Excel. – usherjer

+0

È possibile importare HTML o XML in Excel. Stai dicendo che ci sono altri programmi in cui gli utenti devono importare i dati, ma questi non supportano HTML o XML? –

risposta

1

Il motivo per cui i collegamenti ipertestuali inseriti facendo doppio clic su un file .csv sono "a freddo" (non selezionabili) è che la parte dell'interfaccia utente che crea un collegamento ipertestuale "a caldo" con testo digitato è stata ignorata. Se il .CSV trovi URL prime anziché = HYPERLINK() funzioni, possono essere fatte calda eseguendo il seguente:

Sub HyperIgniter() 
    Dim r As Range 
    For Each r In ActiveSheet.UsedRange 
     If Left(r.Text, 4) = "http" Then 
      r.Select 
      Application.SendKeys "{F2}" 
      Application.SendKeys "{ENTER}" 
      DoEvents 
     End If 
    Next r 
End Sub 

Questo è l'equivalente di ri-digitare ciascuno dei collegamenti, rendendoli così "hot "e dando loro il solito formato.

+2

Il problema è che sta inviando il CSV in modo che i destinatari non siano in esecuzione o che non ricevano nemmeno macro. –

1

È possibile creare file di Excel basati su modello utilizzando la libreria jXLS. è veramente facile da usare Sample

1

Questo può assolutamente essere fatto ma potrebbe essere più complicato di quanto previsto.

Per prima cosa, dovrai seguire i passaggi indicati in questo post per creare un nuovo formato numeri personalizzato che puoi utilizzare in tutte le nuove cartelle di lavoro e così anche i tuoi clienti.

Adding cell format options to Custom list

vorrei citare l'elenco, ma preferisco non prendere alcun credito per la grande soluzione di HansV.

L'opzione che si desidera aggiungere sarà "[blue] Generale"

Ora, il file CSV deve essere salvando la stringa come nell'esempio qui sotto: "= text (collegamento ipertestuale ("" http://www.google.com ''), "" [blu] Generale "") "

Quindi, ora si applica il nuovo formato (che controlla il colore del carattere). Sostituisci google.com con il tuo URL.Noterai che ci sono molte citazioni come prodotto delle forze CSV di formattazione ingannevoli, in modo che aggiunga virgolette dove necessario e non divida la virgola necessaria (per la funzione TESTO) in due celle.

Problemi correlati