zoukankan      html  css  js  c++  java
  • SSIS 中Excel数据格式问题解决

    1. 背景

     

    很多时候我们在使用微软的SSDT开发SSIS包的时候,经常会向客户推荐共享目录存放线下Excel,我们通过SSIS中的数据流任务中连接Excel数据源来将Excel数据导入到SQL Server 数据库中如下图:

     

    但是非常不幸的是也许在开发的过程中你成功的实现了数据导入,但是在后期系统上线后,用户自己上传的Excel却时不时就会爆出各种错误,让你应接不暇,平白无故的增添了诸多的维护时间和成本。

    1. 原因分析

    综上所述的原因经过分析,我们不难发现是因为Excel是一种自带列格式的工具,而且我们在用SSIS连接Excel数据源的时候是会同时把Excel的格式读取到,并且根据格式类型自动匹配出列的数据类型,而Excel的格式并没有办法控制用户在上传的时候指定某一种格式上传,往往用户上传的数据常常因为格式无法统一造成我们程序经常报错。

     

     

     

    3 .解决方案

    3.1 描述

     

    基于以上问题,我们知道CSV格式是不带格式的一种数据存储文件,那么我们只需要把Excel转成CSV文件,然后使用SSIS连接CSV文件进行数据处理,即可解决这个问题。

    同时,因为CSV中的默认分隔符是","号分隔符,但在Excel中逗号经常作为数据的千分位分隔符:例如下图:

    为避免类似逗号引起最终的CSV单元格混乱,我们一般可以使用英文分号";"进行分割。

     

    3.2 处理流程

     

    第一步:excel转CSV,调用我们已经开发好的转换工具包(参见附件下载)

    指定四个参数;

    第一个参数:原始Excel文件路径地址。

    第二个参数:Excel中sheet名称。

    第三个参数:csv中的分割符。

    第四个参数:导出的Excel文件地址。

     

     

    第二步:在数据流任务中使用转换后的CSV文件

    文本限定符指定""".

    标题分割符指定:";"

  • 相关阅读:
    计算几何 判断点在直线的左右哪一侧
    图论 迪杰斯特拉dijkstra求最短路径
    图论 用prim法求最小生成树
    图论 邻接表广搜
    图论 用广搜搜邻接矩阵
    图论 邻接表建图+dfs
    图论 邻接矩阵建图+dfs遍历
    HDU 2141 二分查找
    二叉树知道前序和中序求后序,知道中序后序求中序
    二叉树的查找
  • 原文地址:https://www.cnblogs.com/lxy131/p/10442406.html
Copyright © 2011-2022 走看看