导入,导出excel
/// <summary>
/// 导出数据
/// </summary>
/// <param name="XMMC"></param>
/// <param name="GZNR"></param>
/// <param name="STATUS"></param>
/// <param name="XMJXZT"></param>
/// <param name="ZXR"></param>
/// <param name="FQR"></param>
[HttpPost]
public void ReportWorkData(string XMMC, string HTBH, string KHMC, string FHZT)
{
//模板文件
string TempletFileName = Server.MapPath("/Template/XX的模板.xls");
string ReportFileName = Server.MapPath("/ExeclFile/XX.xls");
//导出文件
FileStream file = new FileStream(TempletFileName, FileMode.Open, FileAccess.Read);
//将文件流中模板加载到工作簿对象中
HSSFWorkbook hssfworkbook = new HSSFWorkbook(file);
//建立一个名为Sheet1的工作表
ISheet ws = (ISheet)hssfworkbook.GetSheet("表名");//添加或修改WorkSheet里的数据
List<TEntity> list = contractapp.GetSqlReportList();//获取list
if (list.Count > 0)
{
for (int n = 0; n < list.Count; n++)
{
IRow r = ws.CreateRow(2 + n);
r.CreateCell(0).SetCellValue(n + 1);
r.CreateCell(1).SetCellValue(list[n].列头1);
r.CreateCell(2).SetCellValue(list[n].列头2);
r.CreateCell(3).SetCellValue(list[n].列头3);
r.CreateCell(4).SetCellValue(list[n].列头4);
r.CreateCell(5).SetCellValue(list[n].列头5);
r.CreateCell(6).SetCellValue(list[n].列头6);
r.CreateCell(7).SetCellValue(list[n].列头7);
r.CreateCell(8).SetCellValue(list[n].列头8);
r.CreateCell(9).SetCellValue(list[n].列头9);
r.CreateCell(10).SetCellValue(list[n].列头10);
r.CreateCell(11).SetCellValue(list[n].列头11);
r.CreateCell(12).SetCellValue(list[n].列头12);
}
} ws.ForceFormulaRecalculation = true; using (FileStream filess = System.IO.File.OpenWrite(ReportFileName))
{
hssfworkbook.Write(filess);
}
System.IO.FileInfo filet = new System.IO.FileInfo(ReportFileName);
Response.Clear();
Response.Charset = "GB2312";
Response.ContentEncoding = System.Text.Encoding.UTF8;
// 添加头信息,为"文件下载/另存为"对话框指定默认文件名
Response.AddHeader("Content-Disposition", "attachment; filename=" + Server.UrlEncode("XX.xls"));
// 添加头信息,指定文件大小,让浏览器能够显示下载进度
Response.AddHeader("Content-Length", filet.Length.ToString());
// 指定返回的是一个不能被客户端读取的流,必须被下载
Response.ContentType = "application/ms-excel";
//把文件流发送到客户端
Response.WriteFile(filet.FullName);
// 停止页面的执行
Response.End();
}
导入
存入模板
function uploaderXK() {
var uploader = new plupload.Uploader({
runtimes: 'html5,flash,silverlight,html4',
browse_button: 'uploadFileXK',
url: "/SystemManage/Contract/UpLoad?type=1",
chunk_size: '10mb',
filters: {
max_file_size: '10mb',
mime_types: [
{ title: "text files", extensions: "xls,xlsx" }
]
},
init: {
FileUploaded: function (up, file, info) { $.modalMsg("正在生成!", "success");
var ret = $.parseJSON(info.response);
console.log(ret);
if (ret.msg != "" && ret.msg != undefined) {
$.modalMsg(ret.msg, "error");
}
if (ret.tab0.length > 0) {
var tr = '';
for (var i = 0; i < ret.tab0.length; i++) {
var CPGG1 = ret.tab0[i].列头1; if (CPGG1 == undefined || CPGG1 == null) { CPGG1 = ""; }
var CPGG2 = ret.tab0[i].列头2; if (CPGG2 == undefined || CPGG2 == null) { CPGG2 = ""; }
var CPGG3 = ret.tab0[i].列头3; if (CPGG3 == undefined || CPGG3 == null) { CPGG3 = ""; }
var CPGG4 = ret.tab0[i].列头4; if (CPGG4 == undefined || CPGG4 == null) { CPGG4 = ""; }
var CPGG5 = ret.tab0[i].列头5; if (CPGG5 == undefined || CPGG5 == null) { CPGG5 = ""; }
var CPGG6 = ret.tab0[i].列头6; if (CPGG6 == undefined || CPGG6 == null) { CPGG6 = ""; }
var CPGG7 = ret.tab0[i].列头7; if (CPGG7 == undefined || CPGG7 == null) { CPGG7 = ""; }
//模板与此处列头名称一致 tr += '<tr>\
<td><input type="text" class="form-control" style="border:0px" placeholder="" value="' + CPGG1 + '" /></td>\
<td><input type="text" class="form-control" style="border:0px" placeholder="" value="' + CPGG2 + '" /></td>\
<td><input type="text" class="form-control" style="border:0px" placeholder="" value="' + CPGG3 + '" /></td>\
<td><input type="text" class="form-control" style="border:0px" placeholder="" value="' + CPGG4 + '" /></td>\
<td><input type="text" class="form-control" style="border:0px" placeholder="" value="' + CPGG5 + '" /></td>\
<td><input type="text" class="form-control" style="border:0px" placeholder="" value="' + CPGG6 + '" /></td>\
<td><input type="text" class="form-control" style="border:0px" placeholder="" value="' + CPGG7 + '" /></td>\
<td><a class="sc" onclick="lxrsc(this)"><i class="fa fa-trash-o"></i></a></td>\
</tr>';
}
$("#table").append(tr);//添加显示在table
}
},
PostInit: function () { },
FilesAdded: function (up, files) {
$('#loading').modal('show');
plupload.each(files, function (file) { });
uploader.start();
},
UploadProgress: function (up, file) { },
Error: function (up, err) {
$('#loading').modal('hide');
$.modalMsg("文件仅支持(xls,xlsx)且不超过10M!", "error");
},
UploadComplete: function (up, data) { },
UploadSuccess: function (file, data, response) { }
}
});
uploader.init();
}
using System.IO;
using NPOI;
using NPOI.SS.UserModel;
private void btn_NPOI_Click(object sender, EventArgs e)
{
string importExcelPath = "E:\\import.xlsx";
string exportExcelPath = "E:\\export.xlsx";
IWorkbook workbook = WorkbookFactory.Create(importExcelPath);
ISheet sheet = workbook.GetSheetAt(0);//获取第一个工作薄
IRow row = (IRow)sheet.GetRow(0);//获取第一行
//设置第一行第一列值,更多方法请参考源官方Demo
row.CreateCell(0).SetCellValue("test");//设置第一行第一列值
//导出excel
FileStream fs = new FileStream(exportExcelPath, FileMode.Create, FileAccess.ReadWrite);
workbook.Write(fs);
fs.Close();
}
导入,导出excel的更多相关文章
- ASP.NET Core 导入导出Excel xlsx 文件
ASP.NET Core 使用EPPlus.Core导入导出Excel xlsx 文件,EPPlus.Core支持Excel 2007/2010 xlsx文件导入导出,可以运行在Windows, Li ...
- thinkphp导入导出excel表单数据
在PHP项目经常要导入导出Excel表单. 先去下载PHPExcel类库文件,放到相应位置. 我在thinkphp框架中的位置为ThinkPHP/Library/Org/Util/ 导入 在页面上传e ...
- 导入导出Excel工具类ExcelUtil
前言 前段时间做的分布式集成平台项目中,许多模块都用到了导入导出Excel的功能,于是决定封装一个ExcelUtil类,专门用来处理Excel的导入和导出 本项目的持久化层用的是JPA(底层用hibe ...
- php中导入导出excel的原理
在php中我们要经常导入导出excel文件,方便后台管理.那么php导入和导出excel的原理到底是什么呢?excel分为两大版本excel2007(后缀.xlsx).excel2003(后缀.xls ...
- NPOI导入导出EXCEL通用类,供参考,可直接使用在WinForm项目中
以下是NPOI导入导出EXCEL通用类,是在别人的代码上进行优化的,兼容xls与xlsx文件格式,供参考,可直接使用在WinForm项目中,由于XSSFWorkbook类型的Write方法限制,Wri ...
- .NET导入导出Excel
若是开发后台系统,ASP.NET MVC中总是涉及了很多导入导出Excel的问题,有的时候处理起来比较烦 如果能使用以下代码解决,就完美了 public class ReportModel { [Ex ...
- Java利用POI导入导出Excel中的数据
首先谈一下今天发生的一件开心的事,本着一颗android的心我被分配到了PB组,身在曹营心在汉啊!好吧,今天要记录和分享的是Java利用POI导入导出Excel中的数据.下面POI包的下载地 ...
- .Net MVC 导入导出Excel总结(三种导出Excel方法,一种导入Excel方法) 通过MVC控制器导出导入Excel文件(可用于java SSH架构)
.Net MVC 导入导出Excel总结(三种导出Excel方法,一种导入Excel方法) [原文地址] 通过MVC控制器导出导入Excel文件(可用于java SSH架构) public cl ...
- jxl导入/导出excel
1.jxl导入/导出excel案例,黏贴即可运行 package junit.test; import java.io.File; import java.io.IOException; import ...
- 【转】 (C#)利用Aspose.Cells组件导入导出excel文件
Aspose.Cells组件可以不依赖excel来导入导出excel文件: 导入: public static System.Data.DataTable ReadExcel(String strFi ...
随机推荐
- OSPF协议原理及配置2-理解邻居和邻接关系
OSPF是一个动态路由协议,运行OSPF的路由器之间需要交换链路状态信息和路由信息,在交换这些信息之前首先需要建立邻接关系.邻接关系用来交换链路状态及路由信息. 注意:并非所有的邻居关系都可以成为邻接 ...
- pd.cut和pd.qcut()之间的区别
- 6张图为你分析Kafka Producer 消息缓存模型
摘要:发送消息的时候, 当Broker挂掉了,消息体还能写入到消息缓存中吗? 本文分享自华为云社区<图解Kafka Producer 消息缓存模型>,作者:石臻臻的杂货铺. 在阅读本文之前 ...
- 6月5日 python复习 模块
"""1. os和sys都是干什么的?2. 你工作中都用过哪些内置模块?3. 有没有用过functools模块?"""1. os 系统相关 ...
- 通过TCP Allocate连接数告警了解promethous-NodeExporter数据采集及相关知识扩散
1.问题由来 近日有环境告警如下:TCP Allocate连接数过多 很多资料告诉我们使用:netstat –ant | grep ^tcp | wc –l命令查询,但查询的值与告警中获取的只相差很大 ...
- python+pytest接口自动化(10)-session会话保持
在接口测试的过程中,经常会遇到有些接口需要在登录的状态下才能请求,否则会提示请登录,那么怎样解决呢? 上一篇文章我们介绍了Cookie绕过登录,其实这就是保持登录状态的方法之一. 另外一种方式则是通过 ...
- 如何使用docker制作开发集成环境
1. 编写最基本的Dockerfile 内容:touch 一个Dockerfile FROM ubuntu 2. 创建基本的docker镜像 docker build -t ubuntu:v1 . ...
- [WPF] 假装可变字体
1. 可变字体 上图中的两个动画,一个文字直接变粗,一个渐渐变粗,我觉得后者会更有趣.但普通的字体可达不到这种效果,例如微软雅黑,无论怎么调整它的 FontWeight,实际上它也只有三种粗细: 这时 ...
- memcached 的多线程是什么?如何使用它们?
线程就是定律(threads rule)!在 Steven Grimm 和 Facebook 的努力下, memcached 1.2 及更高版本拥有了多线程模式.多线程模式允许 memcached 能 ...
- ACL 权限控制机制 ?
UGO(User/Group/Others) 目前在 Linux/Unix 文件系统中使用,也是使用最广泛的权限控制方式.是一种粗 粒度的文件系统权限控制模式. ACL(Access Control ...