C#-C#在读取Excel数据的时候如果是以0开头的数字将读到的值是空!
如何读取到原有的数据,求解答!谢谢
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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果前7列都是0开头的数字,你试试是不是还是这样。
好像有个规则,以Excel表前7列判断数据类型。
估计你的数据前7列都不以0为开头,判断成了数字类型。后面以0开头的判读为了字符串,数据类型不对,就转换成了null