【第二篇】.NET用NPOI读取Excel表格并在页面预览
博主用的是npoi2.0.1,支持.xls也支持.xlsx
直接上代码吧。
<table class="table table-bordered table-striped">
<thead>
<tr>
<th>Shape</th>
<th>Pcs</th>
<th>Sizw</th>
<th>Size Range</th>
<th>Color</th>
<th>Clarity</th>
<th>Rap-Price</th>
<th>Cut</th>
<th>POL</th>
<th>SYM</th>
<th>H&A</th>
<th>FL</th>
<th>Diam/LxW</th>
<th>Dep%</th>
<th>Tab%</th>
<th>Rap%</th>
<th>LAB1</th>
<th>CersNo</th>
<th>LAB2</th>
<th>CersNo</th>
<th>Price/ct¥</th>
</tr>
</thead>
<tbody id="td">
</tbody>
</table>
之后用了jquery.form.js
function uploadFile() {
var options = {
type: "post",
enctype: "multipart/form-data",
url: "UploadExcel",
success: function (data) {
if (data != null) {
$("#td").append(data);
$("#uploadData").css("display", "block");
} else if (data == 0) {
layer.msg('文档加载失败!', { icon: 5 }, function () {
$("#uploadData").css("display", "none");
});
} else if (data == -1) {
layer.msg('数据库连接失败!', { icon: 5 }, function () {
$("#uploadData").css("display", "none");
});
} else {
layer.msg('未知错误!', { icon: 5 }, function () {
$("#uploadData").css("display", "none");
});
}
},
processData: true,
global: true
};
$("#form").ajaxSubmit(options);
}
跟着是动作方法
public ActionResult UploadExcel()
{
string rtn = "";
if (Request.Files.Count > )
{
HttpPostedFileBase file = Request.Files["File"];
string newFile = Server.MapPath("~/Areas/Admin/UploadFile/StockImprot/") + DateTime.Now.ToString("yyyyMMddHHmmss") + file.FileName;
while (System.IO.File.Exists(newFile))
{
newFile = Server.MapPath("~/Areas/Admin/UploadFile/StockImprot/") + DateTime.Now.ToString("yyyyMMddHHmmss") + file.FileName;
}
file.SaveAs(newFile);
DataTable ds = ExcelHelper.GetDataTable(newFile);
if (ds != null)
{
if (ds.Rows != null)
{
ViewData["datatable"] = ds;
return PartialView("_PartialDataTable"); //注意这里返回是的局部视图哦
}
}
else
{
rtn = ""; //文档加载失败
}
}
else
{
rtn = "-1";
}
return Content(rtn);
}
局部视图的代码
@if (ViewData["datatable"] != null)
{
System.Data.DataTable dt = ViewData["datatable"] as System.Data.DataTable;
foreach (System.Data.DataRow dr in dt.Rows)
{
<tr>
<td>@dr[].ToString()</td>
<td>@dr[].ToString()</td>
<td>@dr[].ToString()</td>
<td>@dr[].ToString()</td>
<td>@dr[].ToString()</td>
<td>@dr[].ToString()</td>
<td>@dr[].ToString()</td>
<td>@dr[].ToString()</td>
<td>@dr[].ToString()</td>
<td>@dr[].ToString()</td>
<td>@dr[].ToString()</td>
<td>@dr[].ToString()</td>
<td>@dr[].ToString()</td>
<td>@dr[].ToString()</td>
<td>@dr[].ToString()</td>
<td>@dr[].ToString()</td>
<td>@dr[].ToString()</td>
<td>@dr[].ToString()</td>
<td>@dr[].ToString()</td>
<td>@dr[].ToString()</td>
<td>@dr[].ToString()</td>
</tr>
}
}
最后上一张效果图

---------------------------------------------------------------------------------------------------------
转载请记得说明作者和出处哦-.-
作者:KingDuDu
原文出处:https://www.cnblogs.com/kingdudu/articles/4745151.html
---------------------------------------------------------------------------------------------------------
【第二篇】.NET用NPOI读取Excel表格并在页面预览的更多相关文章
- 使用NPOI读取Excel表格内容并进行修改
前言 网上使用NPOI读取Excel文件的例子现在也不少,本文就是参考网上大神们的例子进行修改以适应自己需求的. 参考博文 http://www.cnblogs.com/restran/p/38894 ...
- NPOI读取Excel表格类
public class NPOIHelper { private HSSFWorkbook workbook; public static IWorkbook Lo ...
- .NET Core 使用NPOI读取Excel返回泛型List集合
我是一名 ASP.NET 程序员,专注于 B/S 项目开发.累计文章阅读量超过一千万,我的博客主页地址:https://www.itsvse.com/blog_xzz.html 网上有很多关于npoi ...
- C# 读取Excel表格内容,以及NPOI的使用
在实际的开发中,我们可能需要读写word或者Excel的内容,在我开发的项目中,需要读取Excel的内容,并将相对应的内容存储到数据库中,这里简单跟大家分享一下,希望能够帮助一些人. 我相信在读写wo ...
- NPOI读取Excel遇到的坑
NPOI是POI的.NET版本.POI是用Java写成的库,能帮助用户在没有安装Office环境下读取Office2003-2007文件.NPOI在.NET环境下使用,能读写Excel/Word文件. ...
- 使用NPOI读取Excel数据并写入SQLite
首先,我们来建一个数据库,我们就叫Hello.db(不一定是db后缀,你可以sqlite,sqlite3,db3)都可以作为识别,然后往里面建一个空的表格,如下图所示 然后建一个Excel表格,往表格 ...
- NPOI读取Excel帮助类,支持xls与xlsx,实现公式解析,空行的处理
NPOI读取Excel(2003或者2010)返回DataTable.支持公式解析,空行处理. /// <summary>读取excel /// 默认第一行为表头 /// </sum ...
- 读取Excel表格中数据原型
写下这篇博客来记录自己的工作,这部分功能是读取Excel表格中的数据,并通过c#中的datagridview控件将读取的数据显示出来.为了方便用户,我设计了一个read按钮,用户点击这个按钮,会弹出打 ...
- 使用NPOI读取Excel数据到DataTable
如今XML文件的存储格式大行其道,可是也不是适用于全部情况,非常多单位的数据交换还是使用Excel的形式.这就使得我们须要读取Excel内的数据.载入到程序中进行处理.可是如何有效率的读取,如何使程序 ...
随机推荐
- hadoop1.2.1配置文件
1)core-site.xml <?xml version="1.0"?> <?xml-stylesheet type="text/xsl" ...
- JavaScript 性能分析新工具 OneProfile
OneProfile 是一个网页版的小工具,可以用全新的方式展示 JavaScript 性能分析的结果,帮助开发者洞悉函数调用关系,优化应用性能. 点击打开 OneProfile 背景 Chrome ...
- 超快的 FastText
Word2Vec 作者.脸书科学家 Mikolov 文本分类新作 fastText:方法简单,号称并不需要深度学习那样几小时或者几天的训练时间,在普通 CPU 上最快几十秒就可以训练模型,得到不错的结 ...
- 由浅入深了解Thrift之微服务化应用架构
为什么选择微服务 一般情况下,业务应用我们都会采用模块化的分层式架构,所有的业务逻辑代码最终会在一个代码库中并统一部署,我们称这种应用架构为单体应用. 单体应用的问题是,全部开发人员会共享一个代码库, ...
- Codeforces Round #263 (Div. 2) D. Appleman and Tree(树形DP)
题目链接 D. Appleman and Tree time limit per test :2 seconds memory limit per test: 256 megabytes input ...
- ExtJs之Panel基本布局
<!DOCTYPE html> <html> <head> <title>ExtJs</title> <meta http-equiv ...
- C#保留小数位数
1.System.Globalization.NumberFormatInfo provider = new System.Globalization.NumberFormatInfo(); prov ...
- 如何使用JMeter来实现更大批量的并发的解决方案(即如何设置controller和Agent)
http://www.testwo.com/blog/6373 近期在用JMeter进行负载测试的 时候,发现使用单台机器模拟测试超过比如500个进程的并发就有些力不从心或者说不能如实的反应实际情况, ...
- C# Socket 入门1(转)
1. 服务端程序 1 using System; 2 using System.Collections.Generic; 3 using System.Text; 4 using Syst ...
- PushBackInputStream与PushBackInputStreamReader的用法
举个例子:获取XX内容 PushBackInputStream pb=new PushBackInputStream(in,4);//4制定缓冲区大小 byte[] buf=new byte[4]; ...