导出到平面文件CSV后,带有逗号、引号和制表符的列会导致Excel中的问题。供应商需要在Excel中读取该文件以进行手动更改,然后需要使用PL/SQL将其以平面文件CSV格式加载到Oracle表中。
我有几个问题:
更新:我正在尝试将MSSQL导出到excel,但有些表给出了“定义的字段太多”的错误
发布于 2012-04-13 17:26:08
我相信你有几个选择。
1)选择不同的分隔符(不在输出中的分隔符)~或`或‘可能有效
2)用引号将每个输出字段包装起来,csv excel知道如何将其作为一个字段来处理。
如果您的输出包含一个“然后您需要加倍,以便CSV/Excel知道您的意思是一个”,而不是结束或开始一个新的字段。
3)不要为此使用CSV,使用XML。甲骨文也处理..。
( 4)以进出口头寸为基础,而不是划定
所以直接回答你的问题:
,但是有更聪明的方法吗?使用XML,server和Oracle都支持并且可以从它导入。
用excel保存到csv有意义吗?
在尝试将文件加载到Oracle时会不会出现问题,?除非你已经处理了所有的特殊字符,并正确地转义他们与适当的描绘,是的,它可以。
任何SQL方法都可以一次生成所有文件(第一行中的块),而不是使用导出到平面文件?,我建议再次使用XML或EDI。
发布于 2014-12-03 16:44:22
我面临着一个类似的挑战--从SQL导出到Excel.虽然很容易从查询结果,右击和保存结果到一个CSV.问题是,任何包含逗号的列都会破坏表的结构。
我使用OPENROWSET解决了这个问题,并将数据直接注入到Excel文件中。我发现做这件事的最不可信的方法是:SQL Server export to Excel with OPENROWSET
虽然我相信我同时使用了Excel和MSSQL的最新版本,但下面是我的代码:
insert into OPENROWSET('Microsoft.ACE.OLEDB.12.0','Excel 12.0;Database=C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\Test.xlsx', [Sheet1$])
select * from TestTable谢谢!肯
发布于 2018-06-22 19:50:58
首先,准备一个生成所需数据的SQL语句。让SQL将任何双引号(")替换为两个双引号(""),例如SELECT REPLACE(CAST(field1 as NVarchar(MAX)),'"','""') AS field1 FROM table1.
右键单击上下文菜单中对象资源管理器( Object Explorer
SQL Serve Native Client (在Flat file
UnicodeText qualifier:"设置单引号字符)
选择广播项目:编写一个查询以指定数据以transfer
Finish
文本限定符是每个字段周围使用的引号字符。如果选择csv文件,它将自动正确设置行尾和列分隔符。
https://stackoverflow.com/questions/10145266
复制相似问题