SQL Server 2005 OPENROWSET-einfügen in Excel - text in Zahl formatieren
So ist es nicht eine große Sache, aber mit Google nicht wieder etwas neueren (zumeist 2007 oder so) darüber möglicherweise eine Excel-Treiber-Problem...ich kam hier die Frage zu stellen, wie das, was ich fand, als "Antwort" nicht akzeptabel war, ohne weitere Forschung.
Mein problem:
Schreiben Sie eine dynamische OPENROWSET-Abfrage löschen und neue Daten einfügen senden Sie einen Bericht für bestimmte Benutzer - die Basis-excel-Bericht enthält einige Formeln, in denen es berechnet aus und die Summen auf der Grundlage der eingegebenen Daten und der Multiplikation Formeln scheinen gut zu funktionieren, aber es sei denn, die Summen werden richtig formatiert in Excel als "zahlen" anstelle von text die Summe wird nicht funktionieren...
Lösung muss frei sein-form basiert (wenn es eine Lösung gibt überhaupt), ich will nicht auf alle übertragen, meinen code in SSIS...
Update/Insert code:
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)
Das zweite problem und es kann nicht ein problem für jetzt, sondern später - nach dem einfügen, es scheint Grenzen zu schaffen um die Ergebnisse. Gibt es auch einen möglichen Weg, um solche zu entfernen, während das Ergebnis übertragen?
Jede Hilfe oder Quellen zu erforschen, wenn es ein Treiber Problem ist geschätzt, da konnte ich keine finden.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Haben Sie versucht, indem
IMEX=1
zu Ihrem Verbindungs-string? Es sollte zwingen die Fahrer zu Ihnen alles, was Sie in die Spalten als text unabhängig von Ihrer interpretted format.Es ist ein komplettes Beispiel für eine Verbindungszeichenfolge an, indem es hier.
Die einzige Möglichkeit, die ich kenne ist die Erstellung einer dummy-Zeile der Daten in die Excel-Tabelle, die Sie schriftlich sind.
Setzen Sie gefälschte Daten in dieser Zeile in dem format, in dem Sie die Daten exportieren. Sie können ausblenden dieser Zeile, falls erforderlich.
Dies sollte beide Probleme lösen, aber Sie haben, um mit der dummy-Reihe, die lästig sein kann, wenn man die Daten für eine pivot-Tabelle