在SQL中导入Excel数据时强制以文本类型导入

Excel不是关系型数据库,在导入到sql中时对于数值型,sql有时int型会处理成float,有时数字文本混排的列,sql会认为是数值型,导入的结果有的数据变成了null,但是用sql导出excel后不做改动,再导入却不会有错误,关键就是导出的excel文件中文本型的列每个单元上都有个绿色的小三角型,要把excel的数值型的列调成这个小绿三角型却是相当麻烦,可能我对excel用得不好.

现有一个变通办法可行,打开exel 文件,新增一空列,输入公式=""&B1 ,这时excel会认为是文本型,复制单元格,粘贴到下面所有单元格上,取一个列名完成.

还有以下方法:

1、选中数字单元格,设为文本,双击,对其它单元格逐一如上。 
2、选中所有要转换成文本的数字单元格,点击“数据|分列……”菜单,选择分隔符号或固定宽度,点下一步,再点下一步,类型选“文本”,点完成,强制把此列转换文本类型。

3、用Excel的text()函数。

方法二简便

赶紧用下面的sql语法看一下,

SELECT * FROM 
OpenDataSource('Microsoft.Jet.OLEDB.4.0','Data Source="C:\temp1.xls";Extended Properties="Excel 5.0;HDR=Yes;";Persist Security Info=False')...Sheet1$

上一篇:.net 流(Stream) - 文件流、内存流、网络流


下一篇:<<< 将一个rar格式的文件变成一张jpg图片,按照后缀来选择打开他的模式