图片中,黄色的那个单元格的数据 Y0901 ,绑到DataGridView后是空的,其它数据则没问题;
把 Y 去掉就没问题,而把 Y 改为其它字母也是获取不到;
我试了用SQL Server 的导入,数据也是空的;
改Excel的单元格为“文字”也不行;
這種問題該怎么处理呢?
謝謝!
把 Y 去掉就没问题,而把 Y 改为其它字母也是获取不到;
我试了用SQL Server 的导入,数据也是空的;
改Excel的单元格为“文字”也不行;
這種問題該怎么处理呢?
謝謝!
解决方案 »
- 在一个form里把另一个form和自己一起关了,坐等~~~~
- C#WinForm弹出窗口问题
- 请教各位大仙RDLC报表问题
- 求一与FileMode.Append相反的功能
- winform窗体中,DataGridView中有一列check,单击就移除某行的问题
- DataGrid中CheckBox列单击的问题,虽然值为false,但是显示确选中,为什么啊?急!大侠帮忙
- const是编译期静态解析的常量(因此其表达式必须在编译时就可以求值);readonly则是运行期动态解析的常量;
- NetworkStream.Write() Read()数据发送超时问题
- 怎樣用c#來替換掉一個string之中包含的回車/換行/單引號/雙引號等特殊字符為指定ascii码的字符?在线等.
- 怎样将当前日期转换成自定义格式
- dll调用ocx事件?
- HttpRequest和HttpResponse跳转后设置cookie无效的问题
全部默认为字符串就可以了修改方法为
"Provider=Microsoft.Jet.OleDb.4.0;" + "data source=" + Path + ";Extended Properties='Excel 8.0;HDR=Yes;IMEX=1;'";
后面要有HDR=Yes;IMEX=1
//從Excel獲取數據
private void btnSource_Click(object sender, EventArgs e)
{
try
{
if (ofd.ShowDialog() != DialogResult.OK) return; this.Cursor = Cursors.WaitCursor; string strFilePath = ofd.FileName; string strExcelProvider = "Provider=Microsoft.Jet.OLEDB.4.0;" +
"Extended Properties=Excel 8.0;" +
"data source=" + strFilePath; DataTable dtAll = new DataTable(); using (OleDbConnection oleConn = new OleDbConnection(strExcelProvider))
{
//使用Adapter的Update方法,所以dbo.TA_ScheduleImport設置了自動編號 //注意:Excel列名、頁名
StringBuilder strBuilder = new StringBuilder();
strBuilder.Append("SELECT [ModelCode],[LotNo],[Re],");
strBuilder.Append("[P28],[P29],[P30],[P31],");
strBuilder.Append("[C1],[C2],[C3],[C4],[C5],[C6],[C7],[C8],[C9],[C10],[C11],[C12],[C13],[C14],[C15],");
strBuilder.Append("[C16],[C17],[C18],[C19],[C20],[C21],[C22],[C23],[C24],[C25],[C26],[C27],[C28],[C29],[C30],[C31] ");
strBuilder.Append(" from [Schedule$]"); string strSql = strBuilder.ToString(); OleDbDataAdapter oleAdapter = new OleDbDataAdapter(strSql, oleConn); oleAdapter.Fill(dtAll);
} dgv.DataSource = dtAll; if (dtAll.Rows.Count == 0)
{
this.Cursor = Cursors.Default; btnSave.Tag = null; MessageBox.Show("Excel文件[Schedule]頁沒數據,請檢查!", "提示"); return;
} btnSave.Tag = "NotYet"; }
catch (OleDbException ex)
{
MessageBox.Show(ex.Message, "異常");
}
finally
{
this.Cursor = Cursors.Default;
}
}
//string path=Server.MapPath(@"~\xls\test.xls");//指定路径
string path = this.File1.Value;//获取选择的路径
String strConnectionString = string.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties=\"Excel 8.0\"", path);
OleDbConnection oleDbConnection = new OleDbConnection(strConnectionString);
oleDbConnection.Open();
DataSet ds = new DataSet();
OleDbDataAdapter oleDbDataAdapter = new OleDbDataAdapter("Select * from [Sheet1$]", oleDbConnection);
oleDbDataAdapter.Fill(ds, "excel_data");
oleDbConnection.Close();
this.GridView1.DataSource = ds.Tables["excel_data"];
this.GridView1.DataBind();参考: 1.简单的Excel导入到数据绑定控件
2.关于EXCEL导入数据库的功能
提示“找不到可安装的 isam',怎麼處理呀?
”找不到可安装的 isam“的問題是連接字符的問題,先寫data source,再寫Extended Properties。但數據還是空的