首页 新闻 会员 周边

怎么读取excel文件中第3行第3列的值

0
悬赏园豆:20 [已关闭问题] 关闭于 2012-12-19 16:49

怎么读取excel文件中第3行第3列的值

詺*篂的主页 詺*篂 | 初学一级 | 园豆:15
提问于:2012-12-10 16:59
< >
分享
所有回答(3)
0

 DataTable ExcelTable;
        DataSet ds = new DataSet();
        //Excel的连接
        OleDbConnection objConn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + sExcelFile + ";" + "Extended Properties=Excel 8.0;");
        objConn.Open();
        DataTable schemaTable = objConn.GetOleDbSchemaTable(System.Data.OleDb.OleDbSchemaGuid.Tables, null);
        string tableName = schemaTable.Rows[0][2].ToString().Trim();//获取 Excel 的表名,默认值是sheet1
        string strSql = "select * from [" + tableName + "]";
        OleDbCommand objCmd = new OleDbCommand(strSql, objConn);
        OleDbDataAdapter myData = new OleDbDataAdapter(strSql, objConn);
        myData.Fill(ds, tableName);//填充数据

        dgBom.DataSource =ds;
        dgBom.DataBind();
        objConn.Close();
      
        ExcelTable = ds.Tables[tableName];
        int iColums = ExcelTable.Columns.Count;//列数
        int iRows = ExcelTable.Rows.Count;//行数

     第3行第3列数据

     strData=ExcelTable.Rows[3][3].ToString();

       

b-韩非子 | 园豆:216 (菜鸟二级) | 2012-12-10 17:12

这样获取是可以。但是我的excel文件是不规则的。前两行数据没有用。我只要第3行第3列的值。是直接从excel中获取这个值。这个应该怎么弄???

支持(0) 反对(0) 詺*篂 | 园豆:15 (初学一级) | 2012-12-10 17:26
0

是直接操作excel的吗?可以试试NPOI,现在操作excel,这个使用还是很频繁的

chenping2008 | 园豆:9836 (大侠五级) | 2012-12-10 17:19

是直接操作excel。

支持(0) 反对(0) 詺*篂 | 园豆:15 (初学一级) | 2012-12-10 17:26

@詺*篂: 对啊,NPOI就是可以直接操作excel

支持(0) 反对(0) chenping2008 | 园豆:9836 (大侠五级) | 2012-12-10 21:09
0

 using System;
using System.Collections.Generic;
using System.Data;
using System.IO;
using System.Linq;
using System.Text;


using NPOI.HSSF.UserModel;
using NPOI.SS.UserModel;

.....

 

using (FileStream fileStream = new FileStream(excelPath, FileMode.Open, FileAccess.Read))
            {
                HSSFWorkbook workbook = new HSSFWorkbook(fileStream);
                HSSFFormulaEvaluator evaluator = new HSSFFormulaEvaluator(workbook);

                HSSFSheet sheet = workbook.GetSheetAt(0) as HSSFSheet;
                HSSFRow firstRow = sheet.GetRow(2) as HSSFRow;

                //判断此行是否有值
                if (firstRow.GetCell(2) != null)
                {
                   .............//根据此行类型获取值.
                }

            }

amityat | 园豆:476 (菜鸟二级) | 2012-12-10 17:25
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册