c# - C# OleDB,从 Excel 导入,格式错误
问题描述
我使用 OleDB 从 Excel 导入 DataGridView。我正在导入的单元格具有此字符串“01/01/2029”,但是当我使用 OleDB 导入 DataGridView 时,当我想保留它时,该字符串将转换为 DateTime“01/01/2029 0:00:00”字符串使用他的原始格式“01/01/2029”。我试图转换它和一堆东西,我找不到解决方案......谁能找到问题出在哪里?
string filePath = openFileDialog1.FileName;
string extension = Path.GetExtension(filePath);
string header = "YES";
string conStr, sheetName;
conStr = string.Empty;
switch (extension)
{
case ".xls":
conStr = string.Format(Excel03ConString, filePath, header);
break;
case ".xlsx":
conStr = string.Format(Excel07ConString, filePath, header);
break;
}
using (OleDbConnection con = new OleDbConnection(conStr))
{
using (OleDbCommand cmd = new OleDbCommand())
{
cmd.Connection = con;
con.Open();
DataTable dtExcelSchema = con.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
sheetName = dtExcelSchema.Rows[0]["TABLE_NAME"].ToString();
con.Close();
}
}
using (OleDbConnection con = new OleDbConnection(conStr))
{
using (OleDbCommand cmd = new OleDbCommand())
{
using (OleDbDataAdapter oda = new OleDbDataAdapter())
{
DataTable dt = new DataTable();
cmd.CommandText = "SELECT * From [" + sheetName + "]";
cmd.Connection = con;
con.Open();
oda.SelectCommand = cmd;
oda.Fill(dt);
con.Close();
dataGridView1.DataSource = dt;
}
}
}
解决方案
推荐阅读
- laravel - laravel 集合中不存在方法 paginate
- r - 将列分成两列 r
- data-structures - 父P为红色而叔U为黑色时插入红黑树
- numpy - 如何实现为 ODE 的非线性系统生成 Poincaré 截面的方法?
- c# - 无法在第二行扩展第一行高度
- javascript - 音频没有在 js 中播放
- angular - 未捕获(承诺):TypeError:无法读取未定义的属性“人”
- c++ - c++ - 无法读取二进制文件
- wordpress - 如何更改 Wordpress 中所需的评论消息?
- unity3d - Unity:如果从下方跳到平台,则忽略平台的碰撞。使用 ContactFilter 和rigidBody.Cast()