首页 > 学院 > 开发设计 > 正文

asp.net DataTable导出 excel的方法记录(第三方)

2019-11-17 01:42:09
字体:
来源:转载
供稿:网友

asp.net DataTable导出 Excel的方法记录(第三方)

官网:http://npoi.codeplex.com/

简单应用,主要是可以实现我们想要的简单效果,呵呵

需要引入dll,可以在官网下载,也可在下面下载

C#代码收藏代码
  1. PRotectedvoidgetExcel(DataTabledt)
  2. {
  3. NPOI.HSSF.UserModel.HSSFWorkbookbook=newNPOI.HSSF.UserModel.HSSFWorkbook();
  4. NPOI.SS.UserModel.Sheetsheet=book.CreateSheet("test_01");
  5. NPOI.SS.UserModel.Rowrow=sheet.CreateRow(0);
  6. for(inti=0;i<dt.Columns.Count;i++)
  7. {
  8. row.CreateCell(i).SetCellValue(dt.Columns[i].ColumnName);
  9. }
  10. for(inti=0;i<dt.Rows.Count;i++)
  11. {
  12. NPOI.SS.UserModel.Rowrow2=sheet.CreateRow(i+1);
  13. for(intj=0;j<dt.Columns.Count;j++)
  14. row2.CreateCell(j).SetCellValue(dt.Rows[i][j].ToString());
  15. }
  16. //写入到客户端
  17. System.IO.MemoryStreamms=newSystem.IO.MemoryStream();
  18. book.Write(ms);
  19. Response.AddHeader("Content-Disposition",string.Format("attachment;filename=EmptyWorkbook.xls"));
  20. Response.BinaryWrite(ms.ToArray());
  21. book=null;
  22. ms.Close();
  23. ms.Dispose();
  24. }

EXCEL导入

C#代码收藏代码
  1. HSSFWorkbookhssfworkbook;
  2. #region
  3. publicDataTableImportExcelFile(stringfilePath)
  4. {
  5. #region//初始化信息
  6. try
  7. {
  8. using(FileStreamfile=newFileStream(filePath,FileMode.Open,Fileaccess.Read))
  9. {
  10. hssfworkbook=newHSSFWorkbook(file);
  11. }
  12. }
  13. catch(Exceptione)
  14. {
  15. throwe;
  16. }
  17. #endregion
  18. NPOI.SS.UserModel.Sheetsheet=hssfworkbook.GetSheetAt(0);
  19. System.Collections.IEnumeratorrows=sheet.GetRowEnumerator();
  20. DataTabledt=newDataTable();
  21. for(intj=0;j<(sheet.GetRow(0).LastCellNum);j++)
  22. {
  23. dt.Columns.Add(Convert.ToChar(((int)'A')+j).ToString());
  24. }
  25. while(rows.MoveNext())
  26. {
  27. HSSFRowrow=(HSSFRow)rows.Current;
  28. DataRowdr=dt.NewRow();
  29. for(inti=0;i<row.LastCellNum;i++)
  30. {
  31. NPOI.SS.UserModel.Cellcell=row.GetCell(i);
  32. if(cell==null)
  33. {
  34. dr[i]=null;
  35. }
  36. else
  37. {
  38. dr[i]=cell.ToString();
  39. }
  40. }
  41. dt.Rows.Add(dr);
  42. }
  43. returndt;
  44. }
  45. #endregion

这样就可以读取一个EXCEL的文件了返回一个Datatable


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表