当前位置: 代码迷 >> ASP.NET >> 用Excel.application 读取excel2007中的全部数据存入数据库中,该怎么处理
  详细解决方案

用Excel.application 读取excel2007中的全部数据存入数据库中,该怎么处理

热度:7366   发布时间:2013-02-25 00:00:00.0
用Excel.application 读取excel2007中的全部数据存入数据库中
谁帮我写一段代码,用Excel.application 读取excel2007中的全部数据存入数据库中, 谢谢啊!

------解决方案--------------------------------------------------------
下面代码可以获取数据集,剩下更新到数据库即可
C# code
string strCon = " Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source = c:\\sample.xls;Extended Properties=Excel 8.0" ; OleDbConnection myConn = new OleDbConnection ( strCon ) ; string strCom = " SELECT * FROM [Sheet1$] " ; myConn.Open ( ) ; //打开数据链接,得到一个数据集 OleDbDataAdapter myCommand = new OleDbDataAdapter ( strCom , myConn ) ; //创建一个 DataSet对象 myDataSet = new DataSet ( ) ; //得到自己的DataSet对象 myCommand.Fill ( myDataSet , "[Sheet1$]" ) ; //关闭此数据链接 myConn.Close ( ) ;
------解决方案--------------------------------------------------------
楼上的,你用的是数据库方法,不是人家要求的Excel.application 方法啊。
------解决方案--------------------------------------------------------
string cnString="Provider=msdaora.1;Data source=Name; ";
cnString=cnString+"user id=UserName;password=Password";
try
{
 OleDbConnection cn=new OleDbConnection (cnString);
 cn.Open ();
 try
 {
  string s="select * from Name.TableName";
  OleDbCommand cmd=new OleDbCommand (s,cn);
  OleDbDataReader dr=cmd.ExecuteReader ();
  Excel.Application xlApp = new Excel.Application();
  if(xlApp==null){MessageBox.Show ("Can't open Excel!");return;}
  xlApp.Application .Workbooks .Add (true);
  int row=2,fieldcount;
  fieldcount=dr.FieldCount ;
  for(int col=0;col<fieldcount;col++) xlApp.Cells [1,col+1]=dr.GetName(col);
  while (dr.Read ())
  {
   for(int col=0;col<fieldcount;col++) 
    xlApp.Cells [row,col+1]=dr.GetValue(col).ToString();
    row++;
  }
  xlApp.Visible =true;
  xlApp=null;
 }
 catch(Exception ex ){MessageBox.Show (ex.Message );}
 finally {cn.Close();}
}
catch(Exception ex){MessageBox.Show (ex.Message );}
}



这个是从数据库写excel,你改改就行了
------解决方案--------------------------------------------------------
可能还要配dcom的权限
------解决方案--------------------------------------------------------
关注一下
------解决方案--------------------------------------------------------
这种情况用Excel.application 是走弯路。

直接当Excel是数据库来读取在保存到别的数据库。
------解决方案--------------------------------------------------------
用数据库导入就可以了
------解决方案--------------------------------------------------------
网上有很多这方面的源码
  相关解决方案