今天做一个xls文件导入数据库的东西有一列数据是“车次”。excel里面设置好的单元格格式为文本。但是在导入信息的时候,该列中要不就只能显示纯数字,不带字母的项,要不就只能显示带字母的,导不进数字。。完全不清楚状况。。求高人指点。!!!例如车次信息如果是:
2727
T19
D109
Z891则导入后数据库中第一列就是空的
而如果信息是
2727
T19
1094
8912则导入后数据库中第二列就是空的
2727
T19
D109
Z891则导入后数据库中第一列就是空的
而如果信息是
2727
T19
1094
8912则导入后数据库中第二列就是空的
我现在读取excel都只能用office Excel打开,一格一格读。
我已经在xls强制设定该列类型为text了有一列本来是时间的,设完text就能当文本读了(防止它莫名其妙补全年月)……
但是就这个数字+字符的列怎么改都改不好哎,信息量太大,一格一格读不太现实啊……
SQL2005叫SSISExcel导入数据库的时候,好像是根据前面几行的数据类型来判断具体的类型的如果前面几行是数字类型(把一列设置成文本格式也没用),后面又出现文本类型,那么文本类型的就导进去是null值,如果前面几行是文本类型,后面几行是数字类型,就不会出现null情况解决null的情况,就是在文本前面加[分号(')],就能解决这个问题...............有人会问,一个一个分号,不加死去.
如果你熟练的运用Excel,是可以批量的给某一列加分号的
的确好用!谢谢!但是不能让用户加分号。怎么设置一个列都自带分号呢?。我不会excel。继续求教。。
或者
连接字符串
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("excel.xls") + ";Extended Properties='Excel 8.0;HDR=No;IMEX=1;'";
http://dotnet.aspx.cc/file/ADO.NET-Excel-IMEX=1.aspx
EXCEl中的数据是怎么来的呢,人自己添加进去的还是程序导出来的,程序导出来的好办....数据前面加个分号即可.......如果是人添加那就没什么办法呢.......数字前面必须加分号(来个硬规定)......因为我们没法改SQL的导入导出功能