Copia / Incolla dati da SQL Server a Excel suddivide il testo in più colonne?


14

Ho un problema a incollare i dati dalla griglia dei risultati di SQL Server 2005 a un foglio di calcolo Excel 2007.

Ho una query in SQL Server che restituisce 2 colonne (una colonna numerica e una colonna di testo)

Su un computer qui posso felicemente copiare (clic con il tasto destro> copia) e poi semplicemente fare clic con il tasto destro e incollare in un foglio di calcolo Excel. nessun problema.

Su un altro computer qui, quando provo a incollare in Excel, divide la colonna di testo in alto e incolla il testo in più colonne in base agli spazi tra le parole.

Ad esempio se una delle righe ha ...

Incollami per favore

... in esso quindi quando si incolla in Excel divide il testo e incolla ogni parola in una colonna separata all'interno di Excel.

Abbiamo provato a confrontare le opzioni sia in SQL Server sia in Excel con il computer su cui funziona benissimo ma non ci sono differenze.

Qualche idea benvenuta

Grazie

Risposte:


20

Se di recente hai utilizzato il testo per le colonne, applicherà tali impostazioni all'operazione Incolla. Non ricordo che ciò accadesse prima di Excel 2007, ma potrebbe esserlo. Devo sempre tornare indietro e riportarlo sulla scheda delimitata prima di iniziare a copiare e incollare di nuovo.


sì, hai ragione - l'abbiamo risolto - grazie
Paul

Ha funzionato. Grazie.
Sagar Shirke,

7

Prima di incollare i risultati: Dati → Testo in colonne

  • Tipo di dati originale: controllo delimitato
  • Il prossimo
  • Delimitatori: deseleziona lo spazio
  • Il prossimo
  • finire

Finalmente incolla i risultati.


1

Hai provato a sostituire i modelli di avvio di Excel sul computer che presenta il problema? Potrebbe essere definita una macro che viene attivata dall'operazione incolla. Secondo l'articolo della Microsoft Knowledge Base 924460, i modelli sono archiviati nelle seguenti posizioni:

Per impostazione predefinita, i file dei modelli utente sono memorizzati nella seguente posizione:

  • In Windows XP C: \ Documents and Settings \\ Dati applicazioni \ Microsoft \ Modelli
  • In Windows Vista o Windows 7 C: \ Users \\ AppData \ Roaming \ Microsoft \ Templates

1

Ho scoperto che se esco da Excel, quindi lo riavvio e ricarico il mio foglio di calcolo, cancella il testo nelle opzioni delle colonne, quindi l'incolla funzionerà di nuovo come previsto.

La risposta di Hector è buona in quanto non devi uscire da Excel, ma funziona anche così ed è abbastanza veloce e facile.


Penso che alcuni degli excel presenti nel sistema abbiano modificato le opzioni predefinite. Quindi, penso che invece di fare confusione con la configurazione o la trasformazione dei dati sia facile chiudere tutto e riaprirlo.
Juan Acosta,

0

Se la tua tabella contiene un campo nvarchar (max), sposta quel campo in fondo alla tabella. Nel caso in cui il tipo di campo sia diverso da nvarchar (max), quindi identificare il campo o i campi offensivi e utilizzare questa stessa tecnica. Salvarlo. Riseleziona la tabella in SQL. Se non riesci a salvare senza una modifica puoi attivare temporaneamente gli avvisi pertinenti in STRUMENTI | OPZIONI. Questo metodo non comporta rischi. Copia e incolla il display GRID SQL con Header in Excel. I dati possono comunque mostrare un ritorno a capo ma almeno i tuoi dati sono tutti sulla stessa riga. Quindi selezionare tutti i record di riga ed eseguire un ordinamento personalizzato nella colonna ID. Tutti i tuoi record ora dovrebbero essere intatti e consecutivi.


0

Una situazione simile che incontro di volta in volta è la suddivisione delle righe in più righe quando gli utenti hanno utilizzato un carattere di ritorno a capo / avanzamento riga in una colonna destinata ai commenti. Ho trovato una soluzione che funziona per SQL 2012/2014 qui .

Questo, a quanto pare, non è un problema nelle versioni precedenti di SQL Server. Se non vuoi passare attraverso il link, ecco come risolvere il problema nel tuo SQL:

REPLACE(REPLACE([YourColumnHere], CHAR(10), ''), CHAR(13), '')

0

Soluzione a questo problema in Excel dopo aver incollato l'opzione clic.

"Usa procedura guidata per l'importazione di testo" -> Delimitato -> Avanti Controlla "Scheda", seleziona "Tratta delimitatore consecutivo come uno" -> Fine successiva

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.