替代OleDB,将excel文件导入datatable中

问题描述:由于版权问题,要求不能安装微软的东西,或者使用office,
故需要将以前支持微软OleDB(Access数据库提供的工具)导入datatable的方法改为wps的办法
WPS目录下 Program Files(x86)\Kingsoft\WPS Office\10.8.0.6058\Office6 下的etapi.dll文件可以用作.net读取excel表格的库
其中:Excel是主类
Excel-->Workbook-->Item
Range是一个表格里范围的主类, Columns Rows Cells 的类型都是Range
具体api参考文档可以查看:
https://docs.microsoft.com/zh-cn/office/vba/api/excel.range.count

以下代码作参考:

 try 
            { 
                Excel.Application appli = new Excel.Application(); 
                Excel._Workbook wk = appli.Workbooks.Open(excelPath); 
                System.Data.DataTable mydt = new System.Data.DataTable(); 

                if (wk != null) 
                { 

                    Excel.Worksheet sheet = wk.Worksheets.Item[1]; 
                    /** 
                     *  added by jiangchaoqun, 如果没办法直接读取,那么就 
                     */ 
                    mydt.Columns.Add("店铺编号"); 
                    mydt.Columns.Add("URL"); 

                    if (sheet != null) 
                    { 

                        int index = 0; 
                        foreach(Excel.Range rw in sheet.Rows) 
                        { 

                            //pay attention: we donnot need the first line!!! 
                            if (index == 0) { 
                                index++; 
                                continue; 
                            } 

                            if (null == rw.Cells[1,2].Value2 ) 
                            { 
                                break; 
                            } 
                            String value1 = rw.Cells[1, 2].Value2.ToString(); 
                            String value2 = rw.Cells[1, 3].Value2.ToString(); ; 

                            //创建行 
                            DataRow row = mydt.NewRow(); 

                            //获取每一行的值,保存在datatable中 
                            row["店铺编号"] = value1; 
                            row["URL"] = value2; 
                            mydt.Rows.Add(row); 
                        } 
                    } 
                } 

 

posted @ 2020-07-16 09:49  Friday92  阅读(203)  评论(0编辑  收藏  举报