c#用npoi读取excel

来源:互联网 发布:网络销售的技巧和话术 编辑:程序博客网 时间:2024/06/05 19:50

下载NPOIlibrary http://npoi.codeplex.com/downloads/get/872547

然后在vs2012中添加引用NPOI.dll

读取excel中的一个表格的内容并且返回datatable类型

public DataTable GetExcelSheet(string filename,int sheetloc) //获取excel中工作薄的表,返回datatable        {            HSSFWorkbook workbook = new HSSFWorkbook(new FileStream(filename, FileMode.Open));//打开excel            HSSFSheet sheet =(HSSFSheet) workbook.GetSheetAt(sheetloc); //获取sheet            DataTable data = new DataTable();            HSSFRow headerrow = (HSSFRow)sheet.GetRow(0); //获取sheet1的第一行            int cellcount = headerrow.LastCellNum;//获取列数            int rowCount = sheet.LastRowNum-1;//获取数据行数            for (int i = headerrow.FirstCellNum; i < cellcount; i++)            {                DataColumn datacolumn = new DataColumn(headerrow.GetCell(i).StringCellValue);                data.Columns.Add(datacolumn);//添加datatable的列数            }            for (int i = sheet.FirstRowNum + 1; i < rowCount; i++) //填充数据            {                DataRow datarow=data.NewRow(); //创建新行                HSSFRow row=(HSSFRow)sheet.GetRow(i); //获取当前行数                for (int j = headerrow.FirstCellNum; j < cellcount; j++)                {                    if (row.GetCell(j)!= null)//判断是否为空                    {                        datarow[j] = row.GetCell(j).ToString();//往该datatable的这行添加列内容                    }                }                data.Rows.Add(datarow);            }            workbook= null;            sheet = null;            return data;//返回datatable                   }


0 0
原创粉丝点击