正在加载中……
最新消息:欢迎大家访问,导航分类不完善,如果找不到自己想要的文章,可以通过【关键词】来进行搜索,^_^!

c#使用NPOI操作Excel保存到Datatable

.NET编程 REKFAN.COM 1002浏览 0评论

更多


NPOI 是 POI 项目的 .NET 版本。POI是一个开源的Java读写Excel、WORD等微软OLE2组件文档的项目。
NPOI下载地址:http://npoi.codeplex.com/
NPOI 读取excel 存入 Datatable,简易代码:
public DataTable Upload(string path)
        {
            DataTable dt = new DataTable();
            using (FileStream fs = new FileStream(path, FileMode.Open, FileAccess.Read)) //打开xls文件
            {
                string fileExt = System.IO.Path.GetExtension(path);
                IWorkbook wk;
                if (fileExt == ".xls")
                {
                    //excel 03
                    wk = new HSSFWorkbook(fs);
                }
                else if (fileExt == ".xlsx")
                {
                    //excel 07
                    wk = new XSSFWorkbook(fs);
                }
                else
                {
                    return null;
                }
                ISheet sheet = wk.GetSheetAt(0);   //读取第一个Sheel表数据
                System.Collections.IEnumerator rows = sheet.GetRowEnumerator();
                while (rows.MoveNext())
                {
                    IRow row = (IRow)rows.Current;
                    DataRow dr = dt.NewRow();
                    for (int i = 0; i < row.LastCellNum; i++)
                    {
                        ICell cell = row.GetCell(i);
                        if (cell == null)
                        {
                            dr[i] = null;
                        }
                        else
                        {
                            if (dt.Columns.Count < i + 1)
                            {
                                string colname = Convert.ToChar(((int)'A') + i).ToString();//有局限最多到Z列
                                dt.Columns.Add(colname);
                                //lable1.Content = colname;
                                dr[i] = cell.ToString();
                            }
                            dr[i] = cell.ToString();
                        }
                    }
                    //dt = ImportDt(sheet,0,true);
                    dt.Rows.Add(dr);
                }
                wk = null;
                sheet = null;
                return dt;
            }
        }

转载请注明:|REKFAN|系统运维| » c#使用NPOI操作Excel保存到Datatable

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址