首页 新闻 搜索 专区 学院

操作EXCEL文件问题

0
[已解决问题] 解决于 2012-09-03 11:41

各位好,

帮我看看下面的程序代码,有什么问题,为什么我取不到表格里面的值呢?

Microsoft.Office.Interop.Excel.Worksheet sheetStockInfo = (Microsoft.Office.Interop.Excel.Worksheet)book.Sheets["Sheet2"];
string test = sheetStockInfo.Cells[2, 2].ToString();
失落の熊熊的主页 失落の熊熊 | 初学一级 | 园豆:79
提问于:2012-08-31 10:32
< >
分享
最佳答案
0

操作Excel可以试试NPOI,我一直觉得不错

奖励园豆:5
Rt-张雪飞 | 小虾三级 |园豆:533 | 2012-08-31 11:47

是的,我原意是要用上面的方法的,但是没做出来

就改用NPOI了,做出来了,但是我想知道上面的方法错在哪而已。

失落の熊熊 | 园豆:79 (初学一级) | 2012-08-31 11:57

@失落の熊熊:  select *from [Sheet1$]这个是不是掉了空格

Rt-张雪飞 | 园豆:533 (小虾三级) | 2012-08-31 12:57
其他回答(1)
0

public DataSet ExecleDs(string filenameurl, string table)

    {

        SqlConnection con = new SqlConnection();

        con.ConnectionString = "server='CWJMXT-14\\SQLEXPRESS';database='E-learning';uid='sa';pwd='xxx'";

 

        string strConn = "Provider=Microsoft.Jet.OleDb.4.0;" + "data source=" + filenameurl + ";Extended Properties='Excel 8.0; HDR=YES; IMEX=1'";

        string strcom = "select *from [Sheet1$]";

        OleDbConnection conn = new OleDbConnection(strConn);

        conn.Open();

        DataSet ds = new DataSet();

        OleDbDataAdapter odda = new OleDbDataAdapter(strcom, conn);

        odda.Fill(ds, table);

        return ds;

 

    } 得到dataset 是不是你的引擎不對,根本就没有取到excel

stoneniqiu | 园豆:80 (初学一级) | 2012-08-31 11:37

我知道有这种方法,但是我在这里再写个数据库连接在去查数据太不合理了。

我想用上面的方法实现。

“引擎不对”是什么意思,我调试的时候是取到EXCEL了,文件路径都是对的。

支持(0) 反对(0) 失落の熊熊 | 园豆:79 (初学一级) | 2012-08-31 11:40

@失落の熊熊: 

我贴多了,上面的那个SqlConnection con 没有用。拿掉。

这个没有连接数据库,只是读取到excel了放在了内存中。你再可以用dataview 和datatable 来处理这个excel。

dataview 的查询和过滤功能可以代替一般的select语句了。

支持(0) 反对(0) stoneniqiu | 园豆:80 (初学一级) | 2012-08-31 11:45
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册