C#-C#在读取Excel数据的时候如果是以0开头的数字将读到的值是空!

发布于 2017-01-08 05:45:32 字数 1030 浏览 1375 评论 1

如何读取到原有的数据,求解答!谢谢

public static DataTable ImportExcel(string fileurl, string table,string fileds)
{
var strConn = string.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties="Excel 8.0;HDR=YES;IMEX=1";", fileurl);
//var strConn = string.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties=Excel 8.0;", fileurl);//Excel2003
//string strConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + xlsPath + ";Extended Properties='Excel 12.0;HDR=Yes;IMEX=1;'"; //Excel2007

DataTable dt = new DataTable();
using (var oledbConn = new OleDbConnection(strConn))
{
oledbConn.Open();
OleDbDataAdapter adapter = new OleDbDataAdapter(string.Format("SELECT {0} FROM [{1}$]",fileds,table), strConn);
adapter.Fill(dt);
oledbConn.Close();
}
return dt;

}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

灵芸 2017-04-14 03:36:23

如果前7列都是0开头的数字,你试试是不是还是这样。
好像有个规则,以Excel表前7列判断数据类型。
估计你的数据前7列都不以0为开头,判断成了数字类型。后面以0开头的判读为了字符串,数据类型不对,就转换成了null

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文