2013-01-14 247 views
0

在我的asp.net動態數據項目中,我想使用合適的Microsoft技術(不是Excel)讀取excel文件。有人說他們是服務器端的工具嗎? 我想讀一個表中的前幾列數據?讀取excel文件

任何建議或方向去哪裏?

+0

http://www.bing.com/search?q=reading+excel+asp.net&src=IE-SearchBox&FORM=IE8SRC您是否第一次嘗試搜索? – Anonymous

+0

NPOI是一個很好的XLS文件格式的開源工具。但同意,快速搜索。 – sgeddes

+0

是啊,搜索ATM,我只是覺得有經驗的人在這樣的任務上可能能夠分享他們用過的東西? – John

回答

2

在回答您的意見,看看這裏:

http://www.codeproject.com/Articles/37055/Working-with-MS-Excel-xls-xlsx-Using-MDAC-and-Oled

下面是一些(未經測試)的代碼,讓你開始。

string connectionstring = "Provider=Microsoft.Jet.OLEDB.4.0; 
          Data Source=c:\\testexcel.xls; 
          Extended Properties\"Excel 8.0;HDR=YES\""; 
string cmdText = "SELECT * FROM [Sheet1$]"; 
using(conObj = new OleDbConnection(connectionstring)) 
{ 
    using (OleDbCommand cmd = new OleDbCommand(createTableScript, conObj) 
    { 
     OleDbDataAdapter adpt = new OleDbDataAdapter(cmd); 
     DataSet ds = new DataSet(); 
     adpt.Fill(ds,"w1"); 
    } 
} 

祝你好運。

0

要麼你可以使用OLEDB對象,也可以採取使用互操作的對象來讀取Excel文件中的每個細胞,並在下面的代碼片段我已經使用OLEDB將其插入數據庫 請參見下面的代碼片段 並獲取從值excel

string objCON = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=EXcel_file_path;Extended Properties='Excel 8.0;HDR=Yes;'" 
using(OleDbConnection objCon = new OleDbConnection(objCON)) 
{ 
    objCon.Open(); 
    OleDbCommand objCMD = new OleDbCommand("select * from [Sheet1$]", objCon) 
    using(OleDbDataReader objDR = objCMD.ExecuteReader()) 
    { 
     while(objDR.Read()) 
     { 
      messageBox.Show("value of row1 and column 0" + dr[0]); 
     } 
     if(objDR != null) 
     { 
    objDR.Close(); 
    objDR = null; 
     } 
    } 
}