如果我的 Excel(.xls、.xlsx 类型文件)的 Sheet1 是这种格式,并且当我使用我的 ReadExcel 时,我可以将 Excel 中显示的这些数据绑定到网格。
ID Name Code
1 Mark ABC001
2 Ryan BBC001
3 Will CBC001
当有逗号分隔 (ID) 和 \n (回车 - 代码 - 第 2 行)的数据时,我没有得到所有三行,而是得到第 1 行和第 3 行。
ID Name Code
1 Mark ABC001
2,5 Ryan,John BBC001
DBC001
3 Will CBC001
这是方法调用:
private void ReadExcel(string filePath)
{
DataTable table = new DataTable();
table.Columns.Add("ID", typeof(string));
table.Columns.Add("Name", typeof(string));
table.Columns.Add("Code", typeof(string));
string connString = string.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties=\"Excel 12.0 Xml;HDR=YES;IMEX=1;TypeGuessRows=0;ImportMixedTypes=Text\"", filePath);
using (OleDbConnection dbConn = new OleDbConnection(connString))
{
using (OleDbCommand cmd = new OleDbCommand(@"SELECT * FROM [Sheet1$]", dbConn))
{
dbConn.Open();
using (OleDbDataReader reader = cmd.ExecuteReader())
{
DataRow row;
while (reader.Read())
{
row = table.NewRow();
row["ID"] = (string)reader[0];
row["Name"] = (string)reader[1];
row["Code"] = (string)reader[2];
table.Rows.Add(row);
}
}
}
}
}
关于处理这个问题的任何想法,以便我可以像这样取回数据?
ID Name Code
1 Mark ABC001
2 Ryan BBC001
5 John DBC001
3 Will CBC001