PHWinfo banniere

Titres
PORTAIL ANNUAIRE ARTICLES COMPARATEUR HÉBERGEURS DEVIS FORUMS RÉDUCTEUR D'URL
Précédent   PHWinfo > Forums Hébergement > Forum Hébergement serveur > comp.db.ms-sqlserver > converting SQLTable to Excel Sheet
S'inscrire FAQ Membres Recherche Messages du jour Marquer les forums comme lus
converting SQLTable to Excel Sheet

Réponse
 
LinkBack Outils de la discussion
Vieux 27/03/2008, 13h08   #1
nalamveena@gmail.com
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut converting SQLTable to Excel Sheet

I am able to export to excel through a stored procedure.But when i
open it the datetime column and int columns are not getting recognised.
  Réponse avec citation
Vieux 27/03/2008, 13h18   #2
nalamveena@gmail.com
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: converting SQLTable to Excel Sheet

On Mar 27, 5:08pm, nalamve...@gmail.com wrote:
> I am able to export to excel through a stored procedure.But when i
> open it the datetime column and int columns are not getting recognised.


This is the code i wrote:

set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go

ALTER proc [dbo].[spExportData]
(
@dbName varchar(100) = 'Employees',
@sql varchar(5000) = '',
@fullFileName varchar(100) = ''
)
as
if @sql = '' or @fullFileName = ''
begin
select 0 as ReturnValue -- failure
return
end
-- if DB isn't passed in set it to master
select @dbName = 'use ' + @dbName + ';'
if object_id('##TempExportData') is not null
drop table ##TempExportData
if object_id('##TempExportData2') is not null
drop table ##TempExportData2
-- insert data into a global temp table
declare @columnNames varchar(8000), @columnConvert varchar(8000),
@tempSQL varchar(8000)
select @tempSQL = left(@sql, charindex('from', @sql)-1) + ' into
##TempExportData ' +
substring(@sql, charindex('from', @sql)-1, len(@sql))
exec(@dbName + @tempSQL)
if @@error > 0
begin
select 0 as ReturnValue -- failure
return
end
-- build 2 lists
-- 1. column names
-- 2. columns converted to nvarchar
SELECT @columnNames = COALESCE( @columnNames + ',', '') +
column_name,
@columnConvert = COALESCE( @columnConvert + ',', '') +
'convert(nvarchar(4000),'
+ column_name + case when data_type in ('datetime',
'smalldatetime') then ',101'
else ''
end + ') as ' + column_name
FROM tempdb.INFORMATION_SCHEMA.Columns
WHERE table_name = '##TempExportData'
-- execute select query to insert data and column names into new temp
table
SELECT @sql = 'select ' + @columnNames + ' into ##TempExportData2
from (select ' + @columnConvert + ', ''2'' as [temp##SortID]from
##TempExportData union all select ''' + replace(@columnNames, ',',
''', ''') + ''', ''1'') t order by [temp##SortID]'
exec (@sql)
-- build full BCP query
select @sql = 'bcp "' + @dbName + ' select * from
##TempExportData2" queryout "' + @fullFileName + '" -c -t"," -CRAW'

-- execute BCP
Exec Employees..xp_cmdshell 'bcp "Employees.dbo.EmpDetails" OUT "d:
\test5.xls" -Slocalhost -T -n -r\n -t"|" -q'
if @@error > 0
begin
select 0 as ReturnValue -- failure
return
end
drop table ##TempExportData
drop table ##TempExportData2
select 1 as ReturnValue -- success

Exec Employees..spExportData 'Employees','select * from EmpDetails','d:
\test5.xls'
declare @sql varchar(6800), @dbName varchar(100), @fullFileName
varchar(100)
select @dbName = 'Employees', @sql= 'select * from EmpDetails',
@fullFileName = 'd:\test5.xls'
exec Employees..spExportData @dbName, @sql, @fullFileName
  Réponse avec citation
Réponse


Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui


Fuseau horaire GMT +1. Il est actuellement 12h15.


Édité par : vBulletin® version 3.7.3
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0 RC5 Tous droits réservés.
Version française #16 par l'association vBulletin francophone
PHWinfo est un site Éducation Sans Frontières ©2000-2008
Ad Management by RedTyger
©Tous droits réservés par les parties respectives
Page generated in 0,12257 seconds with 10 queries