asp.net DataTable导出 excel的方法记录(第三方)
简单应用,主要是可以实现我们想要的简单效果,呵呵
需要引入dll,可以在官网下载,也可在下面下载
- protected void getExcel(DataTable dt)
- {
- NPOI.HSSF.UserModel.HSSFWorkbook book = new NPOI.HSSF.UserModel.HSSFWorkbook();
- NPOI.SS.UserModel.Sheet sheet = book.CreateSheet("test_01");
- NPOI.SS.UserModel.Row row = sheet.CreateRow(0);
- for (int i = 0; i < dt.Columns.Count; i++)
- {
- row.CreateCell(i).SetCellValue(dt.Columns[i].ColumnName);
- }
- for (int i = 0; i < dt.Rows.Count; i++)
- {
- NPOI.SS.UserModel.Row row2 = sheet.CreateRow(i + 1);
- for (int j = 0; j < dt.Columns.Count; j++)
- row2.CreateCell(j).SetCellValue(dt.Rows[i][j].ToString());
- }
- //写入到客户端
- System.IO.MemoryStream ms = new System.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导入
- HSSFWorkbook hssfworkbook;
- #region
- public DataTable ImportExcelFile(string filePath)
- {
- #region//初始化信息
- try
- {
- using (FileStream file = new FileStream(filePath, FileMode.Open, FileAccess.Read))
- {
- hssfworkbook = new HSSFWorkbook(file);
- }
- }
- catch (Exception e)
- {
- throw e;
- }
- #endregion
- NPOI.SS.UserModel.Sheet sheet = hssfworkbook.GetSheetAt(0);
- System.Collections.IEnumerator rows = sheet.GetRowEnumerator();
- DataTable dt = new DataTable();
- for (int j = 0; j < (sheet.GetRow(0).LastCellNum); j++)
- {
- dt.Columns.Add(Convert.ToChar(((int)'A') + j).ToString());
- }
- while (rows.MoveNext())
- {
- HSSFRow row = (HSSFRow)rows.Current;
- DataRow dr = dt.NewRow();
- for (int i = 0; i < row.LastCellNum; i++)
- {
- NPOI.SS.UserModel.Cell cell = row.GetCell(i);
- if (cell == null)
- {
- dr[i] = null;
- }
- else
- {
- dr[i] = cell.ToString();
- }
- }
- dt.Rows.Add(dr);
- }
- return dt;
- }
- #endregion
这样就可以读取一个EXCEL的文件了返回一个Datatable
asp.net DataTable导出 excel的方法记录(第三方)的更多相关文章
- asp.net中导出Excel的方法
一.asp.net中导出Excel的方法: 本文转载 在asp.net中导出Excel有两种方法,一种是将导出的文件存放在服务器某个文件夹下面,然后将文件地址输出在浏览器上:一种是将文件直接将文件输出 ...
- asp.net DataTable导出Excel 自定义列名
1.添加引用NPOI.dll 2.cs文件头部添加 using NPOI.HSSF.UserModel; using NPOI.SS.UserModel; using System.IO; 3.代码如 ...
- ASP.NET导出excel表方法汇总
asp.net里导出excel表方法汇总 1.由dataset生成 public void CreateExcel(DataSet ds,string typeid,string FileName) ...
- ASP.net中导出Excel的简单方法介绍
下面介绍一种ASP.net中导出Excel的简单方法 先上代码:前台代码如下(这是自己项目里面写的一点代码先贴出来吧) <div id="export" runat=&quo ...
- asp.net中导出Execl的方法
一.asp.net中导出Execl的方法: 在 asp.net中导出Execl有两种方法,一种是将导出的文件存放在服务器某个文件夹下面,然后将文件地址 输出在浏览器上:一种是将文件直接将文件输出流写给 ...
- ASP.NET MVC导出excel
ASP.NET MVC导出excel 要在ASP.NET MVC站点上做excel导出功能,但是要导出的excel文件比较大,有几十M,所以导出比较费时,为了不影响对界面的其它操作,我就采用异步的方式 ...
- Datatable导出Excel
; IRow headerRow = sheet.CreateRow(); ; ; ; iRowIndex++; } ; i < icolIndex; i++) { sheet.AutoSize ...
- 关于asp.net C# 导出Excel文件 打开Excel文件格式与扩展名指定格式不一致的解决办法
-----转载:http://blog.csdn.net/sgear/article/details/7663502 关于asp.net C# 导出Excel文件 打开Excel文件格式与扩展名指定格 ...
- 懒人小工具:自动生成Model,Insert,Select,Delete以及导出Excel的方法
在开发的过程中,我们为了节约时间,往往会将大量重复机械的代码封装,考虑代码的复用性,这样我们可以节约很多时间来做别的事情.最近跳槽到一节webform开发的公司,主要是开发自己公司用的ERP.开始因为 ...
随机推荐
- 获取Class实例的三种方式
方式一: 通过类.枚举.接口.注解.数组类型.原生类型的名称.class package com.rong.test; public class TestClass { public static ...
- KeyBoard 操作 !
键盘操作:tab/ enter/ crtl+c ,crtl+v ; import java.awt.*; import java.awt.datatransfer.StringSelection; i ...
- dbgrid多选日记
procedure TForm1.DBGrid1KeyPress(Sender: TObject; var Key: Char); begin then begin DBGrid1.DataSourc ...
- ADB抓取日志和日志过滤
建议抓取日志之前先清除缓存的log数据:adb logcat -c 网上有人介绍可以这样写:adb logcat -c && adb logcat 1.使用V.D.I.W.E.F.S优 ...
- BZOJ 4034 树上操作(树的欧拉序列+线段树)
刷个清新的数据结构题爽一爽? 题意: 有一棵点数为 N 的树,以点 1 为根,且树点有边权.然后有 M 个 操作,分为三种: 操作 1 :把某个节点 x 的点权增加 a . 操作 2 :把某个节点 x ...
- MySQL复制 -- Binlog (1)
复制之所以工作得益于MySQL把对数据库的变更都记录在 binlog中,然后主库把它读出来,放到从库上去应用.当然binlog 的用途不仅限于此,比如 PITR等 在5.1.4版本以前,binlog格 ...
- 解决二维数组转为ArrayList集合问题
1.修改前代码块 String[][] str = { { "语文", "100" }, { "英语", "90" }, ...
- Python 3中的str和bytes类型
Python3 中的str和bytes类型 Python3最重要的新特性之一是:对字符串和二进制数据流做了明确的区分.文本总是Unicode,由str类型表示,二进制数据则由bytes类型表示.Pyt ...
- [十三]SpringBoot 之 过滤器(Filter)和监听器(Listener)
过滤器(Filter)和 监听器(Listener)的注册方法和 Servlet 一样,不清楚的可以查看下上一篇文章 代码示例 package me.shijunjie.filter; import ...
- BZOJ4972 小Q的方格纸
每个格子记录其左下的45°直角梯形区域的和及左下矩形区域的和即可. #include<iostream> #include<cstdio> #include<cmath& ...