i have attached code storing stored procedure output excel sheet..
but have few issues, are
(1) columns displayed in first column of excel sheet..which don't need, need show report in diff columns.. how that..
(2) if use inner join main, how can column names of other table
can please me out solve above issues?
alter procedure proc_generate_excel_with_columns ( @db_name varchar(100), @schm_name varchar(100), @table_name varchar(100), @file_name varchar(100) ) --generate column names recordset declare @columns varchar(8000), @sql varchar(8000), @data_file varchar(100) select @columns = coalesce(@columns+',', '') + column_name + ' ' + column_name information_schema.columns table_name = @table_name select @columns = '''' + replace(replace(@columns, ' ', ''' '),',',',''') --create dummy file have actual data select @data_file = substring(@file_name, 1, len(@file_name) - charindex('\', reverse(@file_name))) + '\data_file.xls' --generate column names in passed excel file set @sql='bcp " select * (select ' + @columns + ') t" queryout c:\test.xls -c -t, -t -s ' + @@servername exec master..xp_cmdshell @sql --generate data in dummy file set @sql = 'bcp "select * st..ven_fullreportmaster entry_date = convert(varchar, getdate() - 3, 105) " queryout c:\data_file.xls -c -t, -t -s' + @@servername -- exec master..xp_cmdshell @sql -- copy dummy file passed excel file set @sql = 'exec master..xp_cmdshell ''type '+@data_file+' >> "'+@file_name+'"''' exec(@sql) ----delete dummy file set @sql = 'exec master..xp_cmdshell ''del ' + @data_file + '''' exec(@sql)
Comments
Post a Comment