EXCLE 导入 或 导出
首先要引用 NPOI.dll (可在网上下载!)
//导入
public void OnSubmit()
{
string path = Server.MapPath("/upload/201410/27/201410271103461051.xls");
FileStream fs = File.Open(path, FileMode.Open);
System.Data.DataTable dt = ConvertToDataTable(fs);
foreach (DataRow row in dt.Rows)
{
if (row["Mobile1"] != null)
{
Response.Write(row["Mobile1"].ToString() + " " + row["Mobile2"].ToString() + "
");
}
}
Response.End();
}
//excel转DataTable
public static DataTable ConvertToDataTable(System.IO.Stream excelFileStream)
{
HSSFWorkbook HSSFWorkbook = new HSSFWorkbook(excelFileStream);
DataTable dt = new DataTable();
HSSFSheet sheet = (HSSFSheet)HSSFWorkbook.GetSheetAt(0);
System.Collections.IEnumerator rows = sheet.GetRowEnumerator();
int n = 0;
while (rows.MoveNext())
{
HSSFRow row = (HSSFRow)rows.Current;
if (n == 0)
{
for (int i = 0; i < row.LastCellNum; i++)
{
HSSFCell cell = (HSSFCell)row.GetCell(i);
if (cell == null)
continue;
DataColumn column = new DataColumn(cell.StringCellValue);
dt.Columns.Add(column);
}
}
else
{
DataRow dtRow = dt.NewRow();
string rValue = "";
for (int i = 0, j = 0; i < row.LastCellNum; i++)
{
HSSFCell cell = (HSSFCell)row.GetCell(i);
if (cell == null)
{
dtRow[i] = "";
}
else
{
dtRow[j] = cell.ToString();
rValue = cell.ToString();
j++;
}
}
if (string.IsNullOrEmpty(rValue.Trim()))
break;
dt.Rows.Add(dtRow);
}
n++;
}
return dt;
}
//导出
///
/// 将明细表导出到Excel
///
///
要导入到Excel中的中文表头的Sql,将需要的字段通过sql as成中文名
///
/// 1 成功 -1失败
protected int ExportToExcel(string sql, HttpResponse response)
{
DataTable dt = CommOtherBLL.ExportToExcel(sql); //要导出的表
if (dt != null && dt.Rows.Count > 0)
{
StringBuilder strContent = new StringBuilder();
for (int i = 0; i < dt.Columns.Count; i++)
strContent.Append(dt.Columns[i] + "\t");
strContent.Append("\n");
for (int i = 0; i < dt.Rows.Count; i++)
{
for (int y = 0; y < dt.Columns.Count; y++)
strContent.Append(dt.Rows[i][y] + "\t");
strContent.Append("\n");
}
response.AddHeader("Content-Disposition", "attachment; filename=" + System.Web.HttpUtility.UrlEncode("excel", System.Text.Encoding.UTF8) + ".xls");
response.ContentType = "application/ms-excel";
response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
response.Write(strContent.ToString());
response.End();
return 1;
}
else
return -1;
}
EXCLE 导入 或 导出的更多相关文章
- Springboot Excle导入导出
Springboot Excle导入导出 导入操作:Excle批量导入 导出操作:下载模版 开发笔记 pom.xml <!-- Excle相关jar --> <dependency& ...
- java中使用POI+excel 实现数据的批量导入和导出
java web中使用POI实现excel文件的导入和导出 文件导出 //导入excle表 public String exportXls() throws IOException{ //1.查询所有 ...
- C# Excel导入、导出【源码下载】
本篇主要介绍C#的Excel导入.导出. 目录 1. 介绍:描述第三方类库NPOI以及Excel结构 2. Excel导入:介绍C#如何调用NPOI进行Excel导入,包含:流程图.NOPI以及C#代 ...
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(63)-Excel导入和导出-自定义表模导入
系列目录 前言 上一节使用了LinqToExcel和CloseXML对Excel表进行导入和导出的简单操作,大家可以跳转到上一节查看: ASP.NET MVC5+EF6+EasyUI 后台管理系统(6 ...
- Hawk 5.1 数据导入和导出
除了一般的数据库导入导出,Hawk还支持从文件导入和导出,支持的文件类型包括: Excel CSV(逗号分割文本文件) TXT (制表符分割文本文件) Json xml Excel 目前来看,Exce ...
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(63)-Excel导入和导出
系列目录 昨天文章太过仓促没有补充导出的示例源码,在者当时弄到到很晚没时间做出导出功能,对阅读理解造成影响,现补充一份示例源码,顺便补充导出的功能说明,望理解 示例代码下载 https://yun ...
- 萌新笔记——C++里创建 Trie字典树(中文词典)(二)(插入、查找、导入、导出)
萌新做词典第二篇,做得不好,还请指正,谢谢大佬! 做好了插入与遍历功能之后,我发现最基本的查找功能没有实现,同时还希望能够把内存的数据存入文件保存下来,并可以从文件中导入词典.此外,数据的路径是存在配 ...
- [转]Java中导入、导出Excel
原文地址:http://blog.csdn.net/jerehedu/article/details/45195359 一.介绍 当前B/S模式已成为应用开发的主流,而在企业办公系统中,常常有客户这样 ...
- Oracle 文件的导入与导出
说明:本机使用的是32位oracle,使用的方法是plsql导入与导出 1.导出数据步骤. 1)登陆上plsql后在工具里选择导出用户对象,选择上所有的表在选择保存的路径.点击导出就可以了. 2)上边 ...
随机推荐
- 基于注解的SpringMVC自定义DispatcherServlet配置
通过重载AbstractAnnotationConfigDispatcherServletInitializer实现类的customizeRegistration()方法来自定义DispatcherS ...
- day13 闭包及装饰器
""" 今日内容: 1.函数的嵌套定义及必包 2.global 与 nonlocal 关键字 3.开放封闭原则及装饰器 """ " ...
- Virtual Machine
之前说到可以使用Assembly language来实现程序编写,把程序通过一个Assembler就可以得到计算机可以操作的二进制文件. 但是Assembly language依旧不适于编程,但怎么将 ...
- onscroll 元素滚动事件
阻止事件冒泡 event.stopPropagation(); children():查找合集里面的第一级子元素.(仅儿子辈,这里可以理解为就是父亲-儿子的关) children只查找第一级的子节点 ...
- window mysql8.0 zip版本安装
第一步下载安装包 官方下载地址:https://dev.mysql.com/downloads/mysql/ 解压到D盘目录中D://db 第二步配置环境变量 编辑path内容 添加mysql地址 第 ...
- ORACLE根据两个表都含有的字段条件来判断两个表连接后有没有数据
A表 字段1 字段2 B表 字段1 字段3 A表的字段1=B表的字段1 SELECT DISTINCT A.字段2 FROM TABEL1 A ,TABEL2 B WHERE A.字段1 ...
- php 获取用户的IP、地址、来源
js方法获取用户的 ip 和 地址 <script src="http://pv.sohu.com/cityjson?ie=utf-8"></script> ...
- MVC和MVP设计模式
参考博客http://www.cnblogs.com/end/archive/2011/06/02/2068512.html ####MVC模式M:model 模型V:view 视图C:control ...
- vue修改项目名
1.修改config/index.js文件 2.修改Router内容 vue跨域设置
- json随笔
<script> var obj2={};//这只是JS对象 var obj3={width:100,height:200};/*这跟JSON就更不沾边了,只是JS的对象 */ var o ...