【发布时间】:2018-06-27 05:04:29
【问题描述】:
我想将 Excel 工作表导入到DataTable。我使用以下代码:
string path = @"" + /****path of excel file****/;
string connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + path + ";Extended Properties=Excel 12.0;";
OleDbConnection xlConn = new OleDbConnection(connectionString);
xlConn.Open();
OleDbCommand selectCommand = new OleDbCommand("SELECT * FROM [Sheet1$]", xlConn);
OleDbDataAdapter dataAdapter = new OleDbDataAdapter();
dataAdapter.SelectCommand = selectCommand;
itemMasterUploadDataTable = new System.Data.DataTable();
dataAdapter.Fill(itemMasterUploadDataTable );
xlConn.Close();
一切正常Excel工作表中的左对齐值除外。
上图显示了 excel 表的其中一列的一部分。右对齐值(1511、1511、2202、2202)已正确输入到数据表中,但左对齐值(0450、0405、0406、0406、0406、0406、0401)输入为空。我究竟做错了什么?我想将所有值导入数据表中。
【问题讨论】:
-
为什么不改变所有值的对齐方式然后导入呢?
-
好吧,我刚试过你的代码,它可以工作,可以看到填充了所有值的数据表
-
@Prany 设计的 Excel 表格不在我手上
-
正如我所说,我试过你的代码,它可以工作
-
我不知道.. 它不适合我。我认为,excel表的问题..
标签: c# .net excel visual-studio datatable