导航

OLEDB操作Excel涉及的语言问题

Posted on 2012-08-10 11:37  clare-zhang  阅读(221)  评论(0编辑  收藏  举报

最近遇到C#读取Excel的问题,跟大家稍作分享。

 

系统中有读取Excel数据的程式,在我这边和欧洲User那边一直都没有问题,但是PM的测试环境会报错,通过Log发现是这样的错误代码:

                  “Selected collating sequence not supported by the operating system.”

检查相关文档,发现是由于OS的语言设置而引起EXCEL的排序规则在服务器上不支持。

 

PM使用的是欧洲User的Server,那么对应的OS是英文版的操作系统;

但是他上传的是本地的Excel,属于中文版,两者对应的语言设置不同。

这样的设置差异会导致在读取Excel的Sql语句中不能写栏位名称,只能通过*查找所有。

所以,代码中的SQL

  select Model1, Model2, PartNo1, PartNo2, Version, SN from [SN$] where model1 <> ''

会有问题,

改为

  select * from [SN$]

的话就会OK!

 

另一种方式,

就是修改Excel选项中对应的语言设置,将语言修改为同Server一致的选项。