我有一个存储过程来操作excel电子表格中的一些数据。我通过创建QueryTable对象导入数据。我想为对象设置TextFileColumnDataTypes属性,但我无法弄清楚如何将数组传递给sp_OASetProperty例程。
这是我的代码看起来像但显然不起作用:
EXECUTE @rc = master..sp_OASetProperty @xlQueryTable, 'TextFileColumnDataTypes', 'Array(xlTextFormat, xlTextFormat, xlGeneralFormat)'
有没有办法做到这一点?
答案 0 :(得分:0)
xlTextFormat和xlGeneralFormat的值来自哪里?是否有可能是以下之一:
DECLARE @command VARCHAR(255);
SET @command = 'Array(' + @xlTextFormat + ', ' + @xlTextFormat + ', ' + @xlGeneralFormat + ')';
-- or
SET @command = 'Array("' + @xlTextFormat + '", "' + @xlTextFormat + '", "' + @xlGeneralFormat + '")';
-- or
SET @command = 'Array("xlTextFormat", "xlTextFormat", "xlGeneralFormat")';
EXEC @rc = master..sp_OASetProperty @xlQueryTable, 'TextFileColumnDataTypes', @command;
否则也许你应该抛弃sp_OA并使用CLR。