使用NPOI库导入导出EXCEL
2017-05-26 11:19
344 查看
一、[b]EXCEL 导入(Excel 导入导出实际项目中会被封装成**Helper 本示例只对简单功能做演示)[/b]
NPOI 包引用
View Code
[b]二、EXCEL 导出
NPOI 包引用
/// <summary> /// NPOI 导入excel /// </summary> /// <returns></returns> [HttpPost] public ActionResult NPOIInport() { bool isok = false; string msg = string.Empty; var file = Request.Files["Importexcelfile"];//接收的文件对象 var filename = SaveUploadExcel(file);//将文件保存至某一路径下 并形成新的文件名称 var filePath=System.Configuration.ConfigurationManager.AppSettings["Upload"] + @"\excel\" + filename;//新路径 IWorkbook workbook = null; //定义工作簿接口 ISheet sheet=null;//定义sheet表 DataTable data = new DataTable(); FileStream filestream = new FileStream(filePath, FileMode.Open, FileAccess.Read); if (file.ContentLength>0) { if (filePath.IndexOf(".xlsx") > 0) { workbook = new XSSFWorkbook(filestream);//.xlsx 文件 } else { workbook = new HSSFWorkbook(filestream);//.xls文件 } sheet = workbook.GetSheetAt(0);//默认第一个sheet sheet 下标 //sheet = workbook.GetSheet("sheet的名字");//获取想要查询sheet的名字 if (sheet!=null) { for (int i = 0; i < sheet.LastRowNum; i++) { IRow row = sheet.GetRow(i);//获取第一行 一般都是表头 var firstvalue = row.GetCell(0);//第一行的第一列 var secondvalue = row.GetCell(1); } //常见读取excel 已经够用 实际项目中会遇到 再次封装数据形成table 一般这个帮助类会叫**Helper IRow firstrow = sheet.GetRow(0); int cellcount = firstrow.LastCellNum;//总列数 for (int i = firstrow.FirstCellNum; i < cellcount; i++) { ICell icell = firstrow.GetCell(i); if (icell!=null) { string cellvalue = icell.StringCellValue;//获取当前单元格的value DataColumn column = new DataColumn(cellvalue); data.Columns.Add(column);//添加表头 } } int startrow = sheet.FirstRowNum + 1; for (int i = startrow; i < sheet.LastRowNum; i++) { IRow row = sheet.GetRow(i); if (row!=null) { DataRow datarow = data.NewRow(); for (int j = row.FirstCellNum; j < cellcount; j++) { if (row.GetCell(j)!=null) { datarow[j] = row.GetCell(j).ToString(); } } data.Rows.Add(datarow); } } //return data; } } return Json(new { Isok = isok, Msg = msg }); } public static string SaveUploadExcel(HttpPostedFileBase fileexcel) { string filename = fileexcel.FileName; string extension = Path.GetExtension(filename); int filesize = fileexcel.ContentLength; if (filesize>int.Parse(System.Configuration.ConfigurationManager.AppSettings["UploadFileSize"])) { return "文件超过上限"; } string dirPath = System.Configuration.ConfigurationManager.AppSettings["Upload"] + @"\excel\"; //生成新的文件名 string newFileName = string.Format("{0}{1}", DateTime.Now.ToString("yyMMddHHmmssfffffff"), extension); if (!Directory.Exists(dirPath)) Directory.CreateDirectory(dirPath); fileexcel.SaveAs(dirPath + newFileName); //返回新生成的文件名称 return newFileName; }
View Code
[b]二、EXCEL 导出
相关文章推荐
- 导入Excel和导出Excel的简单方法与程序处理方法,使用Excel程序读写Excel ,实现Excel的多个 Sheets读写并导出
- php导出Excel php导入Excel PhpExcel使用说明 PhpExcel使用手册
- 使用C#导入导出数据到Excel
- 使用NPOI导入导出标准Excel
- 使用NPOI导入导出标准Excel
- 使用NPOI导入导出标准Excel
- Java 使用jxl.jar 导入导出Excel数据
- 使用PL/SQL Developer工具导入excel和导出excel
- 使用GridView将数据导入或导出Excel中
- php导出Excel php导入Excel PhpExcel使用说明 PhpExcel使用手册
- 总结 php导出Excel php导入Excel PhpExcel使用说明 PhpExcel使用手册
- 使用SQL Server导入/导出Excel
- C# winform 导出导入Excel/Doc 完整实例教程 使用Aspose.Cells.dll——第一篇
- 使用GridView将数据导入或导出Excel中
- 使用POI导入,导出Excel
- 使用PL/SQL Developer工具导入excel和导出excel
- 使用sql语句导入/导出 数据为Excel
- (转)使用NPOI导入导出标准Excel
- PHP导出Excel php导入Excel PhpExcel使用说明 PhpExcel使用手册
- 使用PLSQL Developer从oracle数据库 导入导出excel表数据