首页 新闻 会员 周边 捐助

NPOI导入数据问题

0
[已解决问题] 解决于 2013-12-05 14:31

用NPOI导入数据好吗?!有没有人能提供一个例子呢,据说NPOI没有用Office插件,但是以前用的导入数据感觉也没用到Office插件呢,谁能解释一下

淘@淘的主页 淘@淘 | 小虾三级 | 园豆:602
提问于:2013-12-05 11:20
< >
分享
最佳答案
0
using (FileStream fs = File.OpenRead("1.xls")) {
                IWorkbook wk = new XSSFWorkbook(fs);  //读取03的xls               
                //IWorkbook wk = new HSSFWorkbook(); //读取07之xlsx
                for (int i = 0; i < wk.NumberOfSheets; i++) {
                    ISheet sheet = wk.GetSheetAt(i);
                    Console.WriteLine("============{0}==Start============", sheet.SheetName);
                    for (int j = 0; j <= sheet.LastRowNum; j++) {
                        IRow row = sheet.GetRow(j);
                        for (int k = 0; k < row.LastCellNum; k++) {
                            ICell cell = row.GetCell(k);
                            Console.WriteLine(cell.ToString() + "\t");
                        }
                    }
                    Console.WriteLine("============{0}==End==============", sheet.SheetName);
                }
            }

一楼那里有下载地址,npoi使用很简单的,你先自己试试吧,不行的话,在发消息

奖励园豆:5
秋壶冰月 | 大侠五级 |园豆:5903 | 2013-12-05 13:16

IWorkbook没有啊

淘@淘 | 园豆:602 (小虾三级) | 2013-12-05 13:26

@淘@淘: IWorkbook接口是在using NPOI.SS.UserModel;命名空间下,实现不好意思,注释写反了,对不住哈!我刚才又重新试了一下,没问题

 using (FileStream fs = File.OpenRead("1.xls")) {
                //IWorkbook wk = new XSSFWorkbook(fs);  //读取07的xls               
                IWorkbook wk = new HSSFWorkbook(fs); //读取03之xlsx
                for (int i = 0; i < wk.NumberOfSheets; i++) {
                    ISheet sheet = wk.GetSheetAt(i);
                    Console.WriteLine("============{0}==Start============", sheet.SheetName);
                    for (int j = 0; j <= sheet.LastRowNum; j++) {
                        IRow row = sheet.GetRow(j);
                        for (int k = 0; k < row.LastCellNum; k++) {
                            ICell cell = row.GetCell(k);
                            Console.WriteLine(cell.ToString() + "\t");
                        }
                    }
                    Console.WriteLine("============{0}==End==============", sheet.SheetName);
                }
            }

上面是读取的,下面这个是写入的(比较简单)

           //IWorkbook wk = new XSSFWorkbook();   //写07之后xlsx
            IWorkbook wk = new HSSFWorkbook();
            ISheet sheet = wk.CreateSheet("hhh");
            IRow row1 = sheet.CreateRow(0);
            for (int i = 0; i < 10; i++) {
                row1.CreateCell(i).SetCellValue("create" + i);
            }
            IRow row2 = sheet.CreateRow(1);
            for (int i = 0; i < 8; i++) {
                row2.CreateCell(i).SetCellValue("delete" + i);
            }
            using (FileStream fs = File.OpenWrite("1213.xls")) {
                wk.Write(fs);
                Console.WriteLine("ok");
            }
秋壶冰月 | 园豆:5903 (大侠五级) | 2013-12-05 14:17

@秋壶冰月: 谢谢 很好用

淘@淘 | 园豆:602 (小虾三级) | 2013-12-05 14:31

@淘@淘: 恩 使用比较简单/方便

秋壶冰月 | 园豆:5903 (大侠五级) | 2013-12-05 14:41
其他回答(3)
0

看介绍说是读写Excel、WORD等微软OLE2组件文档的项目

 

http://npoi.codeplex.com/downloads/get/764163可以从官网下载到示例

芒果の冰 | 园豆:187 (初学一级) | 2013-12-05 11:30
0

Npoi 读取和生成 非常快,微软组件太慢了,又不好操作。

Qlin | 园豆:2403 (老鸟四级) | 2013-12-05 11:37
0

支持NPOI

平常心队长 | 园豆:1113 (小虾三级) | 2013-12-05 13:56
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册