首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >通过SSIS动态创建Excel表

通过SSIS动态创建Excel表
EN

Stack Overflow用户
提问于 2019-05-23 17:00:23
回答 1查看 1.5K关注 0票数 3

在SSIS中使用执行SQL (创建的Excel文件)包含多个列和不同的数据,types.The问题是INT/Money列在Excel中显示为文本列,尽管excel表是用Int/Money数据类型创建的

我试过使用双重精度,CY数据类型,但是没有结果。

代码语言:javascript
运行
复制
CREATE TABLE `Employer` (
`MEMBERSHIP NUMBER` VARCHAR(30),
`RETIREE #` VARCHAR(12),
`COPID` CHAR(6),
`PERSON LAST NAME` VARCHAR(150),
`FIRST NAME` VARCHAR(150),
`RETIREE PLAN` CHAR(15),
`PLAN NAME` CHAR(200),
`BILL GROUP` INT,
`BRANCH ID` CHAR(3),
`CONTRACT NUMBER` CHAR(5),
`PBP` CHAR(3),
`BRANCH NAME` VARCHAR(150),
`COVERAGE MONTH` DATE,
`DUE AMOUNT` INT
)

预期输出应采用输入数据类型格式。

EN

回答 1

Stack Overflow用户

发布于 2019-05-23 21:34:03

OLE DB数据类型与Excel

即使可以使用OLE DB命令在Excel中创建表,excel文件也不是数据库,其中列具有数据类型。OLE DB提供程序只读取表格数据,并需要为每一列指定数据类型。因此,即使Excel具有在同一列中存储多个数据类型的能力,也必须在处理excel时指定列数据类型。

使用OLE DB提供程序读取Excel的缺点之一是,如果列包含混合数据类型,则只读取占主导地位的数据类型,并将所有剩余的数据类型转换为NULL

Excel编号格式属性

另一方面,Excel中有一个名为Number格式的Cell属性,用于更改excel中显示值的方式。可以使用此属性将值显示为货币。

解决方案

您可以使用两种方法来解决这个问题:

(1)使用脚本任务更改列号格式

可以添加脚本任务并使用Interop.Excel.dll程序集更改整个列号格式。

(2)创建Excel模板文件

您可以创建一个Excel文件,并根据需要更改列号格式,并使用该文件作为模板。您可以将文件复制到目标目录,然后执行数据导入阶段。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56279923

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档