在应用程序中,我们有一个带有多个选项卡的向导。在第一个选项卡上,我们可以使用浏览按钮选择 Excel 工作表路径。选择 excel 的那一刻,excel 文件内容将加载到数据集中(所有内容均采用正确格式,包括 DATE 字段)。然后单击下一步转到下一个向导选项卡。
但是如果文件是打开的,程序会加载 excel,这一次所有的日期字段都是通用格式的。例如:2006 年 6 月 22 日为 38890
我们正在尝试查找 excel 是否已打开或被其他格式使用:
bool IsFilebeingUsed(FileInfo file)
{
FileStream stream = null;
try
{
stream = file.Open(FileMode.Open, FileAccess.Read, FileShare.None);
}
catch (IOException)
{
return true;
}
finally
{
if (stream != null)
stream.Close();
}
return false;
}
我们尝试读取excel的方式如下:
string sql = string.Format("SELECT * FROM [{0}]", excelSheetName);
internal OleDbCommand command = new OleDbCommand();
command.CommandText = sql;
OleDbDataReader oleRdr = command.ExecuteReader();
DataTable dataTable = new DataTable();
datatable.TableName = excelSheetName;
dataTable.Load(oleRdr);
谁能告诉应用程序或代码有什么问题?