注册 登录
编程论坛 C# 论坛

C#,关于读取excel内容

pengzhanggui 发布于 2017-08-26 10:41, 2177 次点击
问题描述:
1)Excel文件中,某一列中,既有文本格式,又有时间格式;
2)写入到datatable时,时间格式的内容可以正常显示,但是文本格式的内容却显示为空;


主要代码:
                string Conn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filePath + ";Extended Properties='Excel 8.0;HDR=yes;IMEX=1'";
                OleDbConnection OleConn = new OleDbConnection(Conn);
                OleConn.Open();
                String sql = string.Format("SELECT * FROM  [Sheet{0}$]",sheetIndex);//可更改Sheet名称,比如sheet2,等等   

                OleDbDataAdapter OleDaExcel = new OleDbDataAdapter(sql, OleConn);
                DataSet OleDsExcle = new DataSet();
                OleDaExcel.Fill(OleDsExcle, "Sheet1");
                OleConn.Close();
                System.Data.DataTable dataTable = OleDsExcle.Tables[0];
                OleDsExcle.Dispose();
                return dataTable;
请问这是什么原因?
1 回复
#2
pengzhanggui2018-05-09 15:44
我也遇到这个问题,一直都没有很好的方法解决。
目前采取的做法是,把excel数据复制的到txt中,新建excel,粘贴回去。
1