使用C#和ASP.NET将Excel中的单个单元格读取为字符串

问题描述 投票:0回答:1

我需要将xsl excel文件中的单个单元格读取到包含我正在构建的Web应用程序的字符串。我以前使用以下代码将单元格范围从文件拉到表:

string PullFromExcell(string CellNo)
    {
        string cell;
        string properties = String.Format(@"Provider = Microsoft.Jet.OLEDB.4.0; Data Source = C:\Users\User\Desktop\file.xls; Extended Properties = 'Excel 8.0;'");

        using (OleDbConnection conn = new OleDbConnection(properties))
        {
            string worksheet = "Sheet";
            conn.Open();
            DataSet ds = new DataSet();
            using (OleDbDataAdapter da = new OleDbDataAdapter("SELECT * FROM [" + worksheet + "$" + CellNo + "]", properties))
            {

                DataTable dt = new DataTable();
                cell = dt.ToString(); 
                da.Fill(dt);
                ds.Tables.Add(dt);

                grdComponent.DataSource = dt;
                grdComponent.DataBind();
            }
        }

       return cell;
    }

我如何将其发送到字符串?从数据库中提取时我将使用的代码与此类似:

Sqlstring = "Select data from variable where name = 'fred' and ssn = 1234";
var cmd0 = new SqlCommand(Sqlstring, Class_Connection.cnn);
string Data = cmd0.ExecuteScalar().ToString();

我只是不确定这些是否兼容。

c# asp.net excel
1个回答
1
投票

填充DataTable后,您可以像这样搜索行:

foreach (DataRow dr in dt.Rows)
{
    if (dr["name"] == "fred" && dr["ssn"] == "1234")
    {
        cell = dr["data"].ToString();
        break;
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.