到網上搜了一下,asp.net可以象讀Access資料庫一樣讀取Excel:
string source=file_excel.Value;//execel檔案的完整路徑
string sqlconn="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+source+";Extended Properties=Excel 8.0";
string sql = "SELECT * FROM [Sheet1$]";
System.Data.OleDb.OleDbCommand oldcom = new System.Data.OleDb.OleDbCommand(sql,new OleDbConnection(sqlconn));
System.Data.OleDb.OleDbDataAdapter oleda = new System.Data.OleDb.OleDbDataAdapter(oldcom);
System.Data.DataSet ds = new DataSet();
oleda.Fill(ds,"[Sheet1$]");
lbl_title.Text=ds.Tables[0].TableName;
DataGrid1.DataSource=ds;
DataGrid1.DataMember="[Sheet1$]";
DataGrid1.DataBind();
老大讓組員發了個控制項過來,Aspose。
仔細讀了一下DemoCode。還不錯
對於Excel中的各個Sheet,Excel類有個索引包含了這些Sheet。
然後WorkSheet類又有自自身的屬性:Cell等等。
這樣就可以遍曆一張sheet裡的內容了。
但是沒有發現與列相關的屬性,這個有點麻煩,看來這時候還得用第一種方式來讀比較方便
另外,ExcelDesigner類還可以根據Excel模板再結合資料來產生新的Excel檔案!
calvin提出不要使用第三方控制項。。。。
於是決定使用ms的interop.Excel
下面是MSDN中介紹c#操作Excel的一篇文章:
如何使用 Visual C# 2005 或 Visual C# .NET 向 Excel 活頁簿傳輸資料