Так что это не так уж и сложно, но Google не возвращает ничего более свежего (в основном 2007 или около того) о том, что это, возможно, проблема с драйвером Excel ... Я пришел сюда, чтобы задать вопрос, который я нашел как «ответ»"было неприемлемо без дальнейших исследований.
Моя проблема:
Очистить динамический запрос OPENROWSET и вставить новые данные для отправки отчета конкретным пользователям - в базовом отчете Excel содержатся некоторыекоторый он вычисляет и суммирует на основе вставленных данных, и формулы умножения, кажется, работают нормально, но если суммы не отформатированы должным образом в Excel как «числа» вместо текста, сумма не будет функционировать ...
Решение должно основываться на свободной форме (если решение вообще существует), я не хочу переносить весь свой код в SSIS ...
Обновление / вставка кода:
SELECT @sqlu = 'UPDATE OPENROWSET(' +
'''Microsoft.ACE.OLEDB.12.0'', ' +
'''Excel 12.0;Database=' + @File + ';HDR=YES'', ' +
'''SELECT * FROM [Base$B1:G601]'')
SET
col1 = '''', col2 = '''', col3 = '''', col4 = '''', col5 = '''', col6 = '''' '
EXEC (@sqlu)
SELECT @sqli = 'INSERT INTO OPENROWSET(' +
'''Microsoft.ACE.OLEDB.12.0'', ' +
'''Excel 12.0;Database=' + @File + ';HDR=NO'', ' +
'''SELECT * FROM [Base$B1:G2]'')
SELECT col1, col2, col3, col4, col5, col6
FROM [DATABASE].[dbo].tbl_CIM
WHERE col1 IN(''' + @area + ''')'
EXEC (@sqli)
Вторая проблема, и это может быть проблемой не сейчас, а позже - после вставки кажется, что она создает границы вокруг результатов.Есть ли потенциальный способ удалить их во время передачи результата?
Любая помощь или источники для исследования, если это проблема с драйверами, приветствуется, поскольку я не смог найти ни одной.