asp.net DataTable导出 excel的方法记录(第三方)
作者:佚名    ASP.NET网站开发编辑:admin   更新时间:2022-07-23
asp.net DataTable导出 Excel的方法记录(第三方)
官网:http://npoi.codeplex.com/
简单应用,主要是可以实现我们想要的简单效果,呵呵
需要引入dll,可以在官网下载,也可在下面下载
C#代码
- PRotectedvoidgetExcel(DataTabledt)
- {
- NPOI.HSSF.UserModel.HSSFWorkbookbook=newNPOI.HSSF.UserModel.HSSFWorkbook();
- NPOI.SS.UserModel.Sheetsheet=book.CreateSheet("test_01");
- NPOI.SS.UserModel.Rowrow=sheet.CreateRow(0);
- for(inti=0;i<dt.Columns.Count;i++)
- {
- row.CreateCell(i).SetCellValue(dt.Columns[i].ColumnName);
- }
- for(inti=0;i<dt.Rows.Count;i++)
- {
- NPOI.SS.UserModel.Rowrow2=sheet.CreateRow(i+1);
- for(intj=0;j<dt.Columns.Count;j++)
- row2.CreateCell(j).SetCellValue(dt.Rows[i][j].ToString());
- }
- //写入到客户端
- System.IO.MemoryStreamms=newSystem.IO.MemoryStream();
- book.Write(ms);
- Response.AddHeader("Content-Disposition",string.Format("attachment;filename=EmptyWorkbook.xls"));
- Response.BinaryWrite(ms.ToArray());
- book=null;
- ms.Close();
- ms.Dispose();
- }
EXCEL导入
C#代码
- HSSFWorkbookhssfworkbook;
- #region
- publicDataTableImportExcelFile(stringfilePath)
- {
- #region//初始化信息
- try
- {
- using(FileStreamfile=newFileStream(filePath,FileMode.Open,Fileaccess.Read))
- {
- hssfworkbook=newHSSFWorkbook(file);
- }
- }
- catch(Exceptione)
- {
- throwe;
- }
- #endregion
- NPOI.SS.UserModel.Sheetsheet=hssfworkbook.GetSheetAt(0);
- System.Collections.IEnumeratorrows=sheet.GetRowEnumerator();
- DataTabledt=newDataTable();
- for(intj=0;j<(sheet.GetRow(0).LastCellNum);j++)
- {
- dt.Columns.Add(Convert.ToChar(((int)'A')+j).ToString());
- }
- while(rows.MoveNext())
- {
- HSSFRowrow=(HSSFRow)rows.Current;
- DataRowdr=dt.NewRow();
- for(inti=0;i<row.LastCellNum;i++)
- {
- NPOI.SS.UserModel.Cellcell=row.GetCell(i);
- if(cell==null)
- {
- dr[i]=null;
- }
- else
- {
- dr[i]=cell.ToString();
- }
- }
- dt.Rows.Add(dr);
- }
- returndt;
- }
- #endregion
这样就可以读取一个EXCEL的文件了返回一个Datatable