all groups > sql server (alternate) > october 2005 >
You're in the

sql server (alternate)

group:

Import cell data from XLS into SQL table


Import cell data from XLS into SQL table BigJohnson
10/6/2005 4:02:25 AM
sql server (alternate):
I'm trying to use DTS to import data from an XLS into a SQL table.

It works fine in that it INSERT's the data. However, I need it to
UPDATE the table, based upon a ProjectID. Can this be done?

Can a DTS package be fired from a SP using parameters?
Eg UPDATE tProjects SET MyField1=XLS.Sheet1.CellA1,
MyField2=XLS.Sheet2.CellA1 WHERE ProjectID = @ProjectID.

Also, it must handle dynamic XLS file names, eg 981-Budget.xls,
513-Budget.xls, xyz-Budget.xls

Is this the best way to go? Other suggestions most welcome?

Thanks everyone in advance!
Re: Import cell data from XLS into SQL table Jens
10/6/2005 7:12:55 AM

I would do the querying once and put the data in a temporary table:

<SQLCode>
DECLARE @Folder varchar(200)
DECLARE @Filename varchar(200)
DECLARE @Workbook varchar(200)

DECLARE @Sqlstring varchar(4000)

SET @FileName = 'SomeSheet.xls'
SET @Folder = 'C:\SomeFolder\'
Set @Workbook = 'SomeWorkbook'

SET @SQLString = 'SELECT * FROM OpenDataSource(
''Microsoft.Jet.OLEDB.4.0'',''Data Source="' + @Folder + @FileName +
'";User ID=Admin;Password=;Extended properties=Excel 5.0'')...' +
@Workbook

Create Table #SomeTable
(
<YourTableDefinitionhere>
)


INSERt INTO #SomeTable
EXEC(@SQLString)


</Do anything with the data>



</SQLCode>


HTH, Jens Suessmeyer.
Re: Import cell data from XLS into SQL table Jens
10/6/2005 7:17:10 AM
Sorry, you also has another question:

"Can a DTS package be fired from a SP using parameters? "

Yes, you have to run the DTSRUn in a cmdshell with XP_cmdshell and hand
over the paramters to global paramerters defined in the DTS package.
(consider the /A switch and look in the BOL for more syntax
information)

HTH, Jens Suessmeyer.
AddThis Social Bookmark Button