黑马程序员技术交流社区

标题: 怎样读取excel单元格数据 [打印本页]

作者: 李伟斌    时间: 2012-12-4 17:25
标题: 怎样读取excel单元格数据
本帖最后由 李伟斌 于 2012-12-5 12:55 编辑

string table0 = textBox1.Text.Trim();
                //string strCon = " Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source ="+table0+";Extended Properties=Excel 8.0";
                string strCon = " Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source =" + table0 + ";Extended Properties=\"Excel 8.0; HDR = No;IMEX=1\"" ;
                OleDbConnection myConn = new OleDbConnection(strCon);
                string strCom = " SELECT * FROM [sheet1$] ";
                myConn.Open();
                //打开数据链接,得到一个数据集
                OleDbDataAdapter myCommand = new OleDbDataAdapter(strCom, myConn);
                //创建一个 DataSet对象
                //myDataSet = new DataSet();
                DataSet myDataSet = new DataSet();
                //得到自己的DataSet对象
                myCommand.Fill(myDataSet, "[sheet1$]");
                //数据绑定

                string adf1=myDataSet .Tables ["sheet1$"].Rows[2][5].ToString();


这样读取不了数据,为什么?
作者: 生活墨墨    时间: 2012-12-5 09:09
不知道你引用了excel的组件没有
作者: 生活墨墨    时间: 2012-12-5 09:15
引用了组件还要引用命名空间,这是我的一段代码,你看看
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Web;
  5. using System.Web.UI;
  6. using System.Web.UI.WebControls;
  7. using Excel=Microsoft.Office.Interop.Excel;
  8. using System.Reflection;
  9. using System.Runtime.InteropServices;


  10. namespace ITSERVICE
  11. {
  12.     public partial class 向excel传值 : System.Web.UI.Page
  13.     {
  14.         // Excel object references.
  15.         private Excel.Application m_objExcel = null;
  16.         private Excel.Workbooks m_objBooks = null;
  17.         private Excel._Workbook m_objBook = null;
  18.         private Excel.Sheets m_objSheets = null;
  19.         private Excel._Worksheet m_objSheet = null;
  20.         private Excel.Range m_objRange = null;
  21.         private Excel.Font m_objFont = null;
  22.         private Excel.QueryTables m_objQryTables = null;
  23.         private Excel._QueryTable m_objQryTable = null;
  24.         private object m_objOpt = Missing.Value;
  25.         private string m_strSampleFolder;

  26.         protected void Page_Load(object sender, EventArgs e)
  27.         {
  28.           string filename = @"C:\Users\dell\Desktop\EuOrderReport.xls";
  29.           m_objExcel = new Excel.Application();
  30.           m_objBooks = (Excel.Workbooks)m_objExcel.Workbooks;
  31.           m_objBook = (Excel._Workbook)(m_objBooks.Add(m_objOpt));
  32.           m_objExcel.Workbooks.Open(filename);
  33.          // Add data to cells in the first worksheet in the new workbook.
  34.          m_objSheets = (Excel.Sheets)m_objBook.Worksheets;
  35.          m_objSheet = (Excel._Worksheet)(m_objSheets.get_Item(1));
  36.          m_objRange = m_objSheet.get_Range("A1", m_objOpt);
  37.          m_objRange.Value = "Last Name";
  38.          m_objRange = m_objSheet.get_Range("B1", m_objOpt);
  39.          m_objRange.Value = "First Name";
  40.          m_objRange = m_objSheet.get_Range("A2", m_objOpt);
  41.          m_objRange.Value = "Doe";
  42.          m_objRange = m_objSheet.get_Range("B2", m_objOpt);
  43.          m_objRange.Value = "John";

  44.          // Apply bold to cells A1:B1.
  45.          m_objRange = m_objSheet.get_Range("A1", "B1");
  46.          m_objFont = m_objRange.Font;
  47.          m_objFont.Bold = true;

  48.          // Save the Workbook and quit Excel.
  49.          
  50.          m_objBook.SaveAs(@"C:\Users\dell\Desktop\Books1.xls", m_objOpt, m_objOpt,
  51.              m_objOpt, m_objOpt, m_objOpt, Excel.XlSaveAsAccessMode.xlNoChange,
  52.              m_objOpt, m_objOpt, m_objOpt, m_objOpt);
  53.          m_objBook.Close(false, m_objOpt, m_objOpt);
  54.          m_objExcel.Quit();

  55.         }
  56.     }
  57. }
复制代码

作者: 刘-洋    时间: 2012-12-5 10:16
  1.   //连接字符串
  2.             string ConnString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + DatabasePath + ";Extended Properties=Excel 8.0";
  3.             //查询Sheet1表中的所有数据
  4.             string SelectStr = "SELECT * FROM [Sheet1$]";
  5.             //建立连接
  6.             OleDbConnection myconn = new OleDbConnection(ConnString);
  7.             OleDbDataAdapter da = new OleDbDataAdapter(SelectStr, myconn);
  8.             //填充数据集
  9.             DataSet ds = new DataSet();
  10.             // 将 Excel 的[Sheet1]表内容填充到 DataSet 对象
  11.             da.Fill(ds);
  12.             // 数据绑定
  13.             string ss = ds.Tables[0].Rows[b].ItemArray[0].ToString();
  14.             return ss;
复制代码

作者: 李伟斌    时间: 2012-12-5 12:54
{:soso__12581814603535396430_3:}       明白了,谢谢大家了
作者: yuchen208    时间: 2012-12-6 15:08
这个不是太理解,还是使用jxl自己写好




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2