本人用用ExecuteReader访问时间格式的列时,发现访问不到。
1)于是打开EXCEL文档,双击单元格后发现,日期发生了变化。比如2010-01-02变成了2010-1-2。
2)于是,将单无格切换成Text格式,发现列变成了40494这样的一串数字。
3)如果在该单元格输入文本格式的日期,就可以访问了。可见,是单元格格式的影响。
4)由于很多表格都是这种格式,而且以后也会有多种格式混合的状况,不知有没有好的办法根除呢?
最好不要用组件的那种,不稳定。附代码: try
{
cn.Open();
OleDbCommand cmd = new OleDbCommand(sqlSelect, cn);
OleDbDataAdapter adpter = new OleDbDataAdapter();
adpter.SelectCommand = cmd;
System.Data.DataSet ds = new System.Data.DataSet();
adpter.Fill(ds);
// reader = cmd.ExecuteReader();
// while (reader.Read())
// {
// lbFiles.Items.Add(reader[0].ToString());
int count = ds.Tables[0].Rows.Count;
if (count == 0) { Response.Write("<script>alert('无搜索结果!');window.close();</script>"); }
GridView1.DataSource = ds.Tables[0]; GridView1.DataBind();
// }
}
catch
{
cn.Close();
// reader.Close();
}
finally
{
cn.Close();
// reader.Close();
}
1)于是打开EXCEL文档,双击单元格后发现,日期发生了变化。比如2010-01-02变成了2010-1-2。
2)于是,将单无格切换成Text格式,发现列变成了40494这样的一串数字。
3)如果在该单元格输入文本格式的日期,就可以访问了。可见,是单元格格式的影响。
4)由于很多表格都是这种格式,而且以后也会有多种格式混合的状况,不知有没有好的办法根除呢?
最好不要用组件的那种,不稳定。附代码: try
{
cn.Open();
OleDbCommand cmd = new OleDbCommand(sqlSelect, cn);
OleDbDataAdapter adpter = new OleDbDataAdapter();
adpter.SelectCommand = cmd;
System.Data.DataSet ds = new System.Data.DataSet();
adpter.Fill(ds);
// reader = cmd.ExecuteReader();
// while (reader.Read())
// {
// lbFiles.Items.Add(reader[0].ToString());
int count = ds.Tables[0].Rows.Count;
if (count == 0) { Response.Write("<script>alert('无搜索结果!');window.close();</script>"); }
GridView1.DataSource = ds.Tables[0]; GridView1.DataBind();
// }
}
catch
{
cn.Close();
// reader.Close();
}
finally
{
cn.Close();
// reader.Close();
}
解决方案 »
- UpdatePanel 讨论
- asp:TextBox怎么样才能根据显示内容--自动高度
- 建立資料表時出錯
- ASP.NET中如何让时间走动?
- asp.net页面中控制回车的问题,各位高手帮忙!
- .net播放视频的问题
- 建站技术-关于IIS不支持突然ASP,只支持HTML的解决方案
- 用户控件中的控件如何调用
- 关于数据存储的问题!
- CS0436“XX_MasterPage.Master”中的类型”与“Culture=neutral, PublicKeyToken=null”的类型冲突
- 求个 ASP.NET MVC2的下载地址 要求官网的哦
- 生成的HTML里没有从AJAX目标页面里获取的代码,怎么办?
{
for (int i = 0; i < mydgv.ColumnCount; i++)
{
if (mydgv[i, r].ValueType == typeof(string))
{
worksheet.Cells[r + 2, i + 1] = "" + mydgv.Rows[r].Cells[i].Value;//将长数值转换成文本
}
else
{
worksheet.Cells[r + 2, i + 1] = mydgv.Rows[r].Cells[i].Value;
}
}
System.Windows.Forms.Application.DoEvents();
}