ASP.NET操作Excel(终极方法NPOI)
ASP.NET操作Excel已经是老生长谈的事情了,可下面我说的这个NPOI操作Excel,应该是最好的方案了,没有之一,能够帮助开发者在没有安装微软Office的情况下读写Office 97-2003的文件,支持的文件格式包括xls, doc, ppt等。
前言
ASP.NET操作Excel已经是老生长谈的事情了,可下面我说的这个NPOI操作Excel,应该是最好的方案了,没有之一,使用NPOI能够帮助开发者在没有安装微软Office的情况下读写Office 97-2003的文件,支持的文件格式包括xls, doc, ppt等。NPOI是构建在POI 3.x版本之上的,它可以在没有安装Office的情况下对Word/Excel文档进行读写操作。
方法
先去官网:http://npoi.codeplex.com/下载需要引入dll(可以选择.net2.0或者.net4.0的dll),然后在网站中添加引用。
导出代码:
- NPOI.HSSF.UserModel.HSSFWorkbook book = new NPOI.HSSF.UserModel.HSSFWorkbook();
- NPOI.SS.UserModel.ISheet sheet = book.CreateSheet("test_01");
- // 第一列
- NPOI.SS.UserModel.IRow row = sheet.CreateRow(0);
- row.CreateCell(0).SetCellValue("第一列第一行");
- // 第二列
- NPOI.SS.UserModel.IRow row2 = sheet.CreateRow(1);
- row2.CreateCell(0).SetCellValue("第二列第一行");
- // ...
- // 写入到客户端
- System.IO.MemoryStream ms = new System.IO.MemoryStream();
- book.Write(ms);
- Response.AddHeader("Content-Disposition", string.Format("attachment; filename={0}.xls", DateTime.Now.ToString("yyyyMMddHHmmssfff")));
- Response.BinaryWrite(ms.ToArray());
- book = null;
- ms.Close();
- ms.Dispose();
导入代码:
- 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的操作了,大家可以试试,很好用,如果觉得对您有用请推荐一下,谢谢。
原文链接:http://www.cnblogs.com/stone_w/archive/2012/08/02/2620528.html
ASP.NET操作Excel(终极方法NPOI)的更多相关文章
- Asp.net操作Excel(终极方法NPOI)(转)
原文:Asp.net操作Excel(终极方法NPOI) 先去官网:http://npoi.codeplex.com/下载需要引入dll(可以选择.net2.0或者.net4.0的dll),然后在网站中 ...
- asp.net 操作Excel大全
asp.net 操作Excel大全 转:http://www.cnblogs.com/zhangchenliang/archive/2011/07/21/2112430.html 我们在做excel资 ...
- VBS操作Excel常见方法
VBS操作Excel常见方法 作者: 字体:[增加 减小] 类型:转载 时间:2009-11-13我要评论 VBS控制Excel常见方法,需要的朋友可以参考下. dim oExcel,oWb,oShe ...
- 在 VS2008 下操作 Excel 的方法总结
这些天做个软件,需要读取 Excel 并导入到数据库中,所以研究了一下在 VC 下操作 Excel 的方法,这里做个总结,以作备忘. 一.最常用的 OLE 自动化方式 这个方式应该说是功能最全的方 ...
- Net操作Excel,不依赖服务器端环境配置(终极方法NPOI)转。
这是起因,为什么会需要用到这个,主要是分析了一下为什么从oledb那个方式换成这个方式.文章见链接 http://www.cnblogs.com/Jerseyblog/p/6410703.html 前 ...
- ASP.NET操作Excel
使用NPOI操作Excel,无需Office COM组件 部分代码来自于:https://docs.microsoft.com/zh-tw/previous-versions/ee818993(v=m ...
- C#项目中操作Excel文件——使用NPOI库
转载自:http://blog.csdn.net/dcrmg/article/details/52356236# 感谢-牧野- 实际C#项目中经常会涉及到需要对本地Excel文件进行操作,特别是一些包 ...
- ASP.NET导出excel表方法汇总
asp.net里导出excel表方法汇总 1.由dataset生成 public void CreateExcel(DataSet ds,string typeid,string FileName) ...
- 用VB操作Excel的方法
VB是常用的应用软件开发工具之一,由于VB的报表功能有限,而且一但报表格式发生变化,就得相应修改程序,给应用软件的维护工作带来极大的不便.因此有很多程序员现在已经充分利用EXECL的强大报表功来实现报 ...
随机推荐
- quartusii开发过程中路径不能出现空格或中文
quartusii开发过程中路径不能出现空格或中文,否则软件出现.stf文件错误提示,开发环境搭建的时候也不能出现空格和中文,否则也会报错.
- AutoFac文档13(转载)
目录 开始 Registering components 控制范围和生命周期 用模块结构化Autofac xml配置 与.net集成 深入理解Autofac 指导 关于 词汇表 属性注入 属性注入使用 ...
- mysql-5.7.9 shutdown 语法详解
mysql-5.7.9 终于提供shutdown 语法啦: 之前如果想关闭一个mysql数据库可以通过kill 命令.mysqladmin shutdown .service mysqld stop ...
- CentOS 5.5 下修改Apache默认端口80
打开 /etc/httpd/conf/httpd.conf 文件 修改两个地方 #Listen 12.34.56.78:80 Listen 80 #把80改为你设置的端口,我设置端 ...
- centos5.5 快速安装mysql
安装MySQL. [root@sample ~]# yum -y install mysql-server ← 安装MySQL[root@sample ~]# yum -y install php-m ...
- python (18)在linux中如何实现定时发送邮件到指定邮箱,监测任务
最近要用到,定时发送邮件功能: 如何定时,当然要用到linux中crontab了 如下的代码能够定时发送邮件 #!/usr/bin/env python # -*- coding=utf-8 -*- ...
- CentOS6.2 下安装OpenGL开发库
在Linux下做Qt开发,结果运行程序的时候提示找不到GL/gl.h文件,所以只能先把OpenGL库安装上去,不知道这样操作对不对,以后再考虑吧,下面开始安装 1.查看mesa相关的包 yum lis ...
- Ubuntu 16.04安装有道词典
以前用Ubuntu 14.04 的时候,直接下载有道词典官方deb安装包,就安装好了,现在换成Ubuntu 16.04因为有些依赖问题就无法安装成功.于是Google之,成功解决,也顺便熟悉了一下dp ...
- dp之多重背包hdu1114
题目很水,不多说......... #include<stdio.h> int main() { long t,n,m,a,i,j,dp[10005],vol[505],jizhi[505 ...
- Delphi之Raise抛出异常
相关资料: http://blog.csdn.net/a20071426/article/details/10160171 实例代码: unit Unit1; interface uses Windo ...