/// <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的更多相关文章

  1. ASP.NET Core 导入导出Excel xlsx 文件

    ASP.NET Core 使用EPPlus.Core导入导出Excel xlsx 文件,EPPlus.Core支持Excel 2007/2010 xlsx文件导入导出,可以运行在Windows, Li ...

  2. thinkphp导入导出excel表单数据

    在PHP项目经常要导入导出Excel表单. 先去下载PHPExcel类库文件,放到相应位置. 我在thinkphp框架中的位置为ThinkPHP/Library/Org/Util/ 导入 在页面上传e ...

  3. 导入导出Excel工具类ExcelUtil

    前言 前段时间做的分布式集成平台项目中,许多模块都用到了导入导出Excel的功能,于是决定封装一个ExcelUtil类,专门用来处理Excel的导入和导出 本项目的持久化层用的是JPA(底层用hibe ...

  4. php中导入导出excel的原理

    在php中我们要经常导入导出excel文件,方便后台管理.那么php导入和导出excel的原理到底是什么呢?excel分为两大版本excel2007(后缀.xlsx).excel2003(后缀.xls ...

  5. NPOI导入导出EXCEL通用类,供参考,可直接使用在WinForm项目中

    以下是NPOI导入导出EXCEL通用类,是在别人的代码上进行优化的,兼容xls与xlsx文件格式,供参考,可直接使用在WinForm项目中,由于XSSFWorkbook类型的Write方法限制,Wri ...

  6. .NET导入导出Excel

    若是开发后台系统,ASP.NET MVC中总是涉及了很多导入导出Excel的问题,有的时候处理起来比较烦 如果能使用以下代码解决,就完美了 public class ReportModel { [Ex ...

  7. Java利用POI导入导出Excel中的数据

         首先谈一下今天发生的一件开心的事,本着一颗android的心我被分配到了PB组,身在曹营心在汉啊!好吧,今天要记录和分享的是Java利用POI导入导出Excel中的数据.下面POI包的下载地 ...

  8. .Net MVC 导入导出Excel总结(三种导出Excel方法,一种导入Excel方法) 通过MVC控制器导出导入Excel文件(可用于java SSH架构)

    .Net MVC  导入导出Excel总结(三种导出Excel方法,一种导入Excel方法) [原文地址] 通过MVC控制器导出导入Excel文件(可用于java SSH架构)   public cl ...

  9. jxl导入/导出excel

    1.jxl导入/导出excel案例,黏贴即可运行 package junit.test; import java.io.File; import java.io.IOException; import ...

  10. 【转】 (C#)利用Aspose.Cells组件导入导出excel文件

    Aspose.Cells组件可以不依赖excel来导入导出excel文件: 导入: public static System.Data.DataTable ReadExcel(String strFi ...

随机推荐

  1. 初探JVM字节码

    作者: LemonNan 原文地址: https://juejin.im/post/6885658003811827725 代码地址: https://github.com/LemonLmNan/By ...

  2. OCCT基础

    基础 构成总览 Root类 基本类型,如布尔,字符,整数或实数 安全处理动态创建的对象,确保自动删除未引用的对象 可配置的内存管理器,提高了应用程序的性能 包含运行时类型信息机制,有助于创建复杂应用 ...

  3. 2022年官网下安装Redis最全版与官网查阅方法

    目录 安装部署Redis 一.下载安装 1.百度搜索Redis,双击进入. 2.下载稳定版(服务器版本),如图所示 3.找到下载的位置,解压压缩包(查看发现不是windows版本) 4.官网没有win ...

  4. SQL注入手册

    英文版:链接: https://sqlwiki.netspi.com/ 中文版:链接: https://pan.baidu.com/s/1WWmjvYYnLC6_nItMVvUVig 密码: e98r ...

  5. 接口(interface)与抽象类(abstract class)两者的异同

    首先说明一下,JDK1.8以后接口可以有默认方法和静态方法以及私有方法. 一.概念: 接口(interface):是抽象类的变体,其中所有的方法都是抽象的且不能有方法体,而且只能定义 static f ...

  6. error C4996: 'std::_Copy_impl'

    以下代码段在VS2008编译可以通过,只是会提示不安全: std::vector<unsigned char> fileData ="asdfsfsfsfsdf";// ...

  7. 什么是Java序列化,如何实现Java序列化?或者请解释Serializable接口的作用?

    象序列化的目标是将对象保存到磁盘中,或允许在网络中直接传输对象,对象序列化机制允许把内存中的Java对象转换成平台无关的二进制流,从而允许把这种二进制流持久保存在磁盘上,通过网络将这种二进制流传输到另 ...

  8. 在Java中,如何跳出当前的多重嵌套循环?

    答:在最外层循环前加一个标记如A,然后用break A;可以跳出多重循环.(Java中支持带标签的break和continue语句,作用有点类似于C和C++中的goto语句,但是就像要避免使用goto ...

  9. 区分 BeanFactory 和 ApplicationContext?

    BeanFactory ApplicationContext 它使用懒加载 它使用即时加载 它使用语法显式提供资源对象 它自己创建和管理资源对象 不支持国际化 支持国际化 不支持基于依赖的注解 支持基 ...

  10. springboot项目中的日志输出

    #修改默认输出级别,trace < debug < info < warn < errorlogging.level.com.lagou=trace#控制台输出logging. ...