日期:2014-05-18 浏览次数:20417 次
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是数据库来读取在保存到别的数据库。
------解决方案--------------------
用数据库导入就可以了
------解决方案--------------------
网上有很多这方面的源码