导入,导出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 ...
随机推荐
- LGP5204题解
@CF1327F 最小值看着有点怪,先转化成最大值吧...反正没啥区别... 考虑把最大值相同的区间和限制为这个最大值的区间都拿出来.然后离散化.问题变为让所有区间都满足最值为 \(c\). 考虑 D ...
- 论如何在使用RedisStandaloneConfiguration时让JedisConnectionFactory用上JedisPoolConfig
前言 公司项目上线后经常运行一两天后就会出现延时.无响应的情况,当时第一反应觉得可能是某些业务优化不行,检查业务也没发现有什么问题,前前后后倒是修了两三个BUG,本以为没啥事儿了,但也就好了两天,很奇 ...
- 在Ubuntu 内安装spin
相关课程:协议分析与设计 虽然一些镜像仓库内提供了spin,并且可以直接使用apt 或者yum 安装,但其版本总不是最新的,而且无法使用ispin 图形界面.因此本文介绍了手动下载编译spin 的步骤 ...
- Mybatis中Log4j日志的使用
参考资料: (1). 百度百科:https://baike.baidu.com/item/log4j/480673?fr=aladdin (2). B站狂神的视频:https://www.bilibi ...
- kubernetes如何强制删除namespace
K8S如何强制删除namespace 先运行kubectl get namespace ingress-nginx -o json > nginx.json,拿到当前namespace描述,然后 ...
- Where和having都是条件筛选关键字,它们有什么分别?
WHERE是在数据分组前进行条件过滤, HAVING子句是在数据分组后进行条件过滤,WHERE子句中不能使用聚合函数,HAVING子句可以使用聚合函数. 需要注意说明:当同时含有where子句.gro ...
- char 和 varchar 的区别是什么?float 和 double 的区别是什么?
char 和 varchar 的区别是什么? char(n) :固定长度类型,比如订阅 char(10),当你输入"abc"三个字符的时候,它们占的空间还是 10 个字节,其他 7 ...
- js Object扩展自定义方法,jQuery抛出 Uncaught TypeError: matchExpr[type].exec is not a function
使用Jquery的时候,想在Object原型上添加自己扩展的方法的时候,启动项目之后,打开网页就会报如上错误信息,经过测试,可以在Object下的具体类型上进行扩展自定义方法,如String,Arra ...
- elasticsearch 索引数据多了怎么办,如何调优,部署 ?
解答:索引数据的规划,应在前期做好规划,正所谓"设计先行,编码在后", 这样才能有效的避免突如其来的数据激增导致集群处理能力不足引发的线上客户 检索或者其他业务受到影响. 如何调优 ...
- 你是如何调用 wait()方法的?使用 if 块还是循环?为什么?
wait() 方法应该在循环调用,因为当线程获取到 CPU 开始执行的时候,其他条 件可能还没有满足,所以在处理前,循环检测条件是否满足会更好.下面是一段 标准的使用 wait 和 notify 方法 ...